假设我有一个List<Item>
并且我想打印它以便它将打印为[ item print, item print, ...]
,但我不知道列表的动态类型。 (Item.toString()有一个实现,打印例如“item print”)。
我有办法轻松打印吗?
我试图搜索答案,但所有这些似乎都是我们知道动态类型的列表(例如ArrayList),在我的情况下我不知道。此外,java的oracle的Collection和List文档似乎没有提到的toString()方法。
谢谢!
答案 0 :(得分:2)
首先转到你的Item类,然后@override toString()方法,之后,你可以浏览列表并打印出来:
System.out.print("[");
for(Item it : myListOfItems) {
System.out.print(it.toString() + ", ");
}
System.out.print("]");
答案 1 :(得分:2)
检查出来
public class ABC {
public static void main(String[] args) {
List<Item> items = new ArrayList<>();
Item e1 = new Item();
Item e2 = new Item();
items.add(e1);
items.add(e2);
System.out.println(items);
}
}
class Item {
@Override
public String toString() {
return "item print";
}
}
输出
[item print, item print]
答案 2 :(得分:-2)
任何合理的List
实现(具体为ArrayList
)都会通过调用其所有项toString()
并使用某些分隔符(通常是逗号)加入它们来实现toString()
。长话短说 - 让Java做它的事情并调用默认的toString()
:
System.out.println(myList);