12

currentProfile.getFriends()メソッドは、ArrayList に対して Iterator を返します。想定どおりに動作しますが、別のイテレータに割り当てると、コンパイラはわかりやすい警告を表示します。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 に答える