我可以将具有泛型类型的类用于不同类的集合吗?

时间:2015-12-02 15:52:54

标签: java generics

我有以下通用类:

public class Foo<T> {
    private String name;
    private T value;
    ... // get/set methods
}

在另一个我想要的课程中:

public class Bar {
    private List<Foo> list;

    public <T> Foo<T> getFoo(String name) {
        // find elem which matches the name
        return listElement;
    }
}

我猜T签名中getFoo()所指的内容没有关联。 IntelliJ抱怨未经检查的任务。我不能List<Foo<T>>因为TBar类的上下文中不存在。

可以这样做,还是我在这种情况下滥用泛型的整个概念?

1 个答案:

答案 0 :(得分:4)

你还需要上课。因为类型擦除。

{{1}}

结论是,这样的属性包装对名称的getter没有意义。按类别划分的getter可能更有趣。