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

时间:2017-11-08 06:55:47

标签: java generics static

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

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"});
   }
}

为什么这不起作用?这样做的正确方法是什么? 注意:问题可能出在他们的代码而不是我的代码上,但我无法证实这一点。

1 个答案:

答案 0 :(得分:2)

首先,具有泛型类型的类将无法编译,因为您必须在名称后面定义类型:public class foo<E>(注意您的约定!)。

接下来,您可以使用以下方法使用特定泛型类型调用其方法,但在这种情况下类型未使用:

public class Test {
    public static void main(String[] args){
         foo.<Integer>main(new String[] {"hello"});
    }
}

您的编译器很可能会警告您不要这样做!