1

私のコードは以下です。「イテレーターは生の型です。ジェネリック型イテレーターへの参照はパラメーター化する必要があります」という警告がEclipseに表示されます。これはどういう意味ですか、どうすればこれを適切に修正できますか?

import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;


public class EmployeeList 
{
    Queue<Employee> empList = new LinkedList<Employee>();

    Employee find (String nm)
    {
    Iterator it = empList.iterator(); //Iterator is a raw type. References to generic type Iterator<E> should be parameterized
    while(it.hasNext())
    {
        Employee em = (Employee)it.next();
        if(em.name.equals(nm))
        {
            return em;
        }   
    }
    return null;
}
4

1 に答える 1

5

イテレーターに追加すると警告がクリアされ、ジェネリック型をイテレーターに追加するときに、イテレーターが従業員の型を指すことが保証されるため、next() 呼び出しで明示的にキャストする必要はありません。

 Iterator<Employee> it = empList.iterator();
    while(it.hasNext())
    {
        Employee em = it.next();
        if(em.name.equals(nm))
        {
            return em;
        }   
    }
于 2012-07-13T16:16:47.183 に答える