我有以下通用类:
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>>
因为T
在Bar
类的上下文中不存在。
可以这样做,还是我在这种情况下滥用泛型的整个概念?
答案 0 :(得分:4)
你还需要上课。因为类型擦除。
{{1}}
结论是,这样的属性包装对名称的getter没有意义。按类别划分的getter可能更有趣。