12

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

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

4

2 回答 2

14

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

public Iterator<some type> getFriends()

这是您需要放入 Iterator 引用的类型。例如,如果方法是:

public Iterator<Friend> getFriends()

采用:

Iterator<Friend> friendList = currentProfile.getFriends(); 
于 2012-11-01T00:11:00.777 回答
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();
于 2012-11-01T00:34:46.600 回答