首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用在枚举中实现"Listeners“的类

使用在枚举中实现"Listeners“的类
EN

Stack Overflow用户
提问于 2017-03-04 00:45:46
回答 1查看 47关注 0票数 1

有人知道如何在枚举中使用类作为参数来实现"Listener“吗?

例如,我想通过EventType.MY_LISTENER.register()动态加载一些类;

代码语言:javascript
运行
复制
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”的类,但是我真的不确定该怎么做,因为它在以下位置显示了一个语法错误:

代码语言:javascript
运行
复制
Main.registerListener(this.clazz);

“my.package.Listener:不兼容的类型:无法将java.lang.Class转换为java”

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2017-03-04 01:21:01

因为Main.registerListener需要Listener类型,而您实际传递的是Class<GameStartListener> (一种保存有关GameStartListener类的元数据的类型),而不是真正的GameStartListener对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42584296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档