有人写了一个我希望测试的泛型类。它看起来像:
public class < E > foo{
public static void main(String[] args){
do_stuff();
}
}
我有另一个类试图测试上面函数的main方法如下:
public class Test{
public static void main(String[] args){
foo<Integer>.main({"hello"});
}
}
为什么这不起作用?这样做的正确方法是什么? 注意:问题可能出在他们的代码而不是我的代码上,但我无法证实这一点。
答案 0 :(得分:2)
首先,具有泛型类型的类将无法编译,因为您必须在名称后面定义类型:public class foo<E>
(注意您的约定!)。
接下来,您可以使用以下方法使用特定泛型类型调用其方法,但在这种情况下类型未使用:
public class Test {
public static void main(String[] args){
foo.<Integer>main(new String[] {"hello"});
}
}
您的编译器很可能会警告您不要这样做!