0

こんにちは、この問題が発生しました。対処方法がわかりません...正常に機能するオブジェクトを格納するリンクリストがあります。しかし、今、イテレータを使用してリンクされたリストの内容を表示しようとしていますが、それは単純ではないことを理解しています

ListIterator<String> iterator = LibraryUser.listIterator();  


iterator = LibraryUser.listIterator();
while (iterator.hasNext())
 System.out.println(iterator.next());

タイプのため...これを行う方法はありますか?

そうです!toString をオーバーライドする必要があります...

4

3 に答える 3

1

LibraryUser に のインスタンスが含まれていることだけがわかっている場合Object(つまり、それらがStringインスタンスであることを知らない場合)、次を使用できます。

ListIterator<Object> iterator = LibraryUser.listIterator();
while (iterator.hasNext()) {
    System.out.println(String.valueOf(iterator.next()));
}

または、より簡単に:

for (Object item : theList) {
    System.out.println(String.valueOf(item));
}
于 2012-10-29T20:35:24.240 に答える
1

あなたのコードは正常に動作するはずです:

LinkedList<String> l = new LinkedList<>();
        l.add("aaa");
        l.add("sdjs");
        ListIterator<String> itr = l.listIterator();
        while(itr.hasNext()){
            System.out.println(itr.next());
        }

上記のコードは次のように表示されます:


ああSDJS

于 2012-10-29T20:36:03.727 に答える
0

もう 1 つのアプローチは、強化された for ループの使用を検討することです。何かのようなもの:

LinkedList<Object> list = new LinkedList<Object>();
list.add("abc");
list.add("def");
for(Object element: list){
    System.out.println(element);
}
于 2012-10-29T20:39:01.680 に答える