我想要定义以下类:
public class CollectionAttribute<E extends Collection<T>> {
private String name;
private E value;
public CollectionAttribute(String name, E value) {
this.name = name;
this.value = value;
}
public E getValue() { return value; }
public void addValue(T value) { value.add(T); }
}
Run Code Online (Sandbox Code Playgroud)
这不会编译(cannot resolve symbol T).如果我用以下代码替换类声明:
public class CollectionAttribute<E extends Collection<?>>
Run Code Online (Sandbox Code Playgroud)
然后我不能参考集合的参数化类型.
我错过了什么或者我是否在Java中使用泛型?