何らかの理由で、これはメインの1行が私に「見つけることができないシンボルエラー」を与えるmethodThatReturnsIterator()。next()。length()を実行できないのはなぜですか?
import java.util.*;
public class SetExample
{
public static void main(String[] args)
{
System.out.println(set().next().length());
}
public static Iterator set()
{
List<String> arr = new ArrayList<>(Arrays.asList("one", "fableeblee", "cacao", "pablo", "thelma", "hepatitis"));
Iterator<String> itr = arr.iterator();
System.out.println(itr.next().length());
return itr;
}
}
動作しませんが、セットでのそれと類似の方法は、()メソッドは動作します。どうしてこれなの? .length()を削除すると、メインで完全に正常に動作しますが、それで動作しません。 Iterator
、ないIterator<String>
の戻り値の型を持っているので、あなたがメソッドの戻り値からIterator
を受信したとき、マシンはそれの内側にあるかを知ることができないので、length
は一般Object
上で使用することはできませんset