嗨,我遇到了这个问题,我不知道如何处理...我有一个链接列表存储对象工作正常。但现在我试图使用迭代器显示链表的内容,我明白这不会像
那样简单ListIterator<String> iterator = LibraryUser.listIterator();
iterator = LibraryUser.listIterator();
while (iterator.hasNext())
System.out.println(iterator.next());
因为类型......有没有办法做到这一点?
OH正确!我需要覆盖toString,不要......
答案 0 :(得分: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));
}
答案 1 :(得分: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
答案 2 :(得分:0)
另一种方法是考虑使用增强的for循环。类似的东西:
LinkedList<Object> list = new LinkedList<Object>();
list.add("abc");
list.add("def");
for(Object element: list){
System.out.println(element);
}