所有接口的超类

use*_*845 2 java generics interface class

我搜索了这个简单的问题超过30分钟,找不到任何有用的东西.

我想编写一个接受Class作为参数的方法.另外,我必须保证Class不是任何类,而是接口(例如Action.class,Collection.class,...).

所以它必须看起来类似于下面的行.但是,我需要指定它在HELP中的位置

public void registerInterface(Class<HELP> anInterfaceClass) {
 // do stuff with anInterfaceClass
}
Run Code Online (Sandbox Code Playgroud)

我不能放入Object.也许班级:-)这么容易,但我找不到解决方案....

ken*_*ytm 6

我不认为有编译时检查泛型参数是否是一个接口.您可以进行运行时检查.

public void registerInterface(Class<?> anInterfaceClass) {
   if (!anInterfaceClass.isInterface()) {
       throw new IllegalArgumentException("An interface is expected!");
   }
Run Code Online (Sandbox Code Playgroud)