猿问

仅在运行时知道通用类型时如何指定通用类型?

我有一些代码需要动态生成一组子类的泛型类型为1的泛型对象:例如keyEvent,mouseEvent或者appEvent,这些都扩展event。因此,我的通用类EventFunction需要一个模板,但是在接收到事件之前,我不知道类的类型是什么,所以有一种方法可以执行以下操作:


Event event = new KeyEvent(); // FOR EXAMPLE RECIEVING A KEY EVENT

// Require an EventFunction with that event class as the generic type

EventFunction<event.getClass()> func = new EventFunction<event.getClass()>(event);

如何执行以上操作:即在运行中指定通用值?


翻翻过去那场雪
浏览 126回答 2
2回答

繁花不似锦

泛型仅用于编译器在编译时检查类型安全性。如果您的类型参数仅在运行时而不是在编译时才知道,则没有必要在此处使用泛型。
随时随地看视频慕课网APP

相关分类

Java
我要回答