有人知道如何在枚举中使用类作为参数来实现"Listener“吗?
例如,我想通过EventType.MY_LISTENER.register()动态加载一些类;
public enum EventType {
GAME_START(GameStartListener.class);
private Class<?> clazz;
EventType(Class<?> clazz) {
this.clazz = clazz;
}
public void register() {
Main.registerListener(this.clazz);
}
}
"GameStartListener“是一个实现"Listener”的类,但是我真的不确定该怎么做,因为它在以下位置显示了一个语法错误:
Main.registerListener(this.clazz);
“my.package.Listener:不兼容的类型:无法将java.lang.Class转换为java”
任何帮助都将不胜感激。
发布于 2017-03-03 17:21:01
因为Main.registerListener
需要Listener
类型,而您实际传递的是Class<GameStartListener>
(一种保存有关GameStartListener
类的元数据的类型),而不是真正的GameStartListener
对象。
https://stackoverflow.com/questions/42584296
复制