小编Two*_*oes的帖子

这是Java中泛型的限制吗?

我想要定义以下类:

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中使用泛型?

java generics

7
推荐指数
2
解决办法
3978
查看次数

标签 统计

generics ×1

java ×1