Java:警告:应该参数化对泛型类型的引用

时间:2012-11-01 00:06:47

标签: java iterator

currentProfile.getFriends()方法通过ArrayList返回Iterator。它按预期工作,但编译器在将其分配给另一个迭代器时给我一个友好的警告:iterator is a raw type. References to generic type Iterator <E> should be parameterized

我很少或根本不知道这意味着什么,关心开导我?如果我的描述不够清楚,那就是我正在做的Iterator friendList = currentProfile.getFriends();

2 个答案:

答案 0 :(得分:9)

如果可以的话,请查看方法getFriends()的签名。这看起来应该是

public Iterator<some type> getFriends()

是您需要在Iterator参考中输入的类型。 例如,如果方法是:

public Iterator<Friend> getFriends()

使用:

Iterator<Friend> friendList = currentProfile.getFriends(); 

答案 1 :(得分:5)

`Java: Warning: References to generic type should be parameterized` 

这意味着您将一个具有泛型类型的对象分配给一个没有声明泛型类型的引用。

示例:

List<String> list = new ArrayList<String>();
Iterator itr=   list.iterator(); // you'd get that warning on this line, as you are not making iterator a generic type.

it'd disappear when you do this

 Iterator<String> itr = list.iterator();