如果有一个类,例如:
public class Foo<T> {
T t;
}
,您只需将其实例化为Foo foo = new Foo();
就可以得到警告。如果没有关于类型是什么的说明,那么什么是类型?宾语?我似乎找不到答案。
作为这个问题的扩展,如果我有像这样的课程:
public final class SomeClass{
private SomeClass(){
throw new UnsupportedOperationException();
}
public static void bar(Foo foo){
}
}
它在第public static void bar(Foo foo)
行发出警告,因为未指定泛型。我不能在没有泛型的情况下指定泛型...所以如何通过获取foo的泛型来做public static void bar(Foo<t> foo)
的等价物。不,我不能将泛型放入SomeClass中并使用它,因为它是静态的。此类必须是静态的。
-请注意,这不是我想知道为什么。我知道应该使用它,并且由于向后兼容而不允许这样做。这是一个关于如何在这种特定情况下使用的问题。