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());
        }

上面的代码打印:

aaa
sdjs

于 2012-10-29T20:36:03.727 回答
0

另一种方法是考虑使用增强的 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 回答