【发布时间】:2014-11-28 00:03:50
【问题描述】:
例如,如果我有一个方法使用可变参数作为类类型,该类类型扩展了一个超类,例如 这个:
public static <E extends Example> void test(Class<E>... es){}
然后我尝试使用 Example 的两个不同子类调用该方法,只有在创建一个包含两个类的数组时才能这样做。
//this does not work
test(E1.class,E2.class);
//this does work
test(new Class[]{E1.class,E2.class});
public class E1 extends Example {}
public class E2 extends Example {}
这是为什么?
【问题讨论】:
标签: java generics superclass variadic-functions