Java 从另一个类测试泛型类的主方法

Java 从另一个类测试泛型类的主方法,java,generics,static,Java,Generics,Static,有人写了一个我想测试的泛型类。它看起来像: public class < E > foo{ public static void main(String[] args){ do_stuff(); } } public类foo{ 公共静态void main(字符串[]args){ 做某事; } } 我有另一个类,它尝试测试上述函数的主要方法,如下所示: public class Test{ public static void mai

有人写了一个我想测试的泛型类。它看起来像:

public class < E > foo{  
     public static void main(String[] args){
         do_stuff();
     }
}
public类foo{
公共静态void main(字符串[]args){
做某事;
}
}
我有另一个类,它尝试测试上述函数的主要方法,如下所示:

public class Test{
   public static void main(String[] args){
        foo<Integer>.main({"hello"});
   }
}
公共类测试{
公共静态void main(字符串[]args){
foo.main({“hello”});
}
}
为什么这样不行?正确的方法是什么?
注意:问题可能出在他们的代码上,而不是我的代码上,但我无法确认这一点。

首先,具有泛型类型的类将不会编译,因为您必须在名称后定义类型:
公共类foo
(注意您的约定!)

接下来,您可以使用以下方法使用特定泛型类型调用其方法,但在本例中该类型未使用:

public class Test {
    public static void main(String[] args){
         foo.<Integer>main(new String[] {"hello"});
    }
}
公共类测试{
公共静态void main(字符串[]args){
main(新字符串[]{“hello”});
}
}
您的编译器很可能会警告您不要这样做