我想知道使用这种语法有什么用处。我写了一个简单的程序如下,
public class Sample{
public static void main(String[] args) {
Class<? extends Collection> someCollectionClass = someMethod();
}
public static ArrayList someMethod() {
return new ArrayList();
}
}
为什么它显示编译错误,
- Collection is a raw type. References to generic type Collection<E> should be
parameterized
- Type mismatch: cannot convert from ArrayList to Class<? extends Collection>
在这里,该类是否期望一个扩展集合的类(它实际上是它接受的对象知道,是吗?)。那么 ArrayList 有什么问题呢?
如果我将某些东西声明为,它也是有效的 if 语法吗Class<? extends T>