我想用Java打印List,但我的输出项看起来像这样:
[[Ljava.lang.String;@4381e9f2, [Ljava.lang.String;@1905afa3, [Ljava.lang.String;@60a9b10, [Ljava.lang.String;@38e9f02a]
程序读取包含以下项目的csv文件:
one
two
tree
four
一个项目位于.csv文件的一行
我的问题:如何获得一,二,树,四的正常输出,而不是第一行中的东西? .toString
无效。
看,这是我的代码:
try {
CSVReader csvread = new CSVReader(new FileReader("test.csv"));
List myEntries = csvread.readAll();
System.out.println(myEntries.toString());
}
catch (FileNotFoundException e1) {
System.out.println("File not found!");
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:3)
您正在打印对象。
您需要遍历列表并打印所有这些成员。
要迭代和打印列表成员,您可以这样做:
Iterator<String[]> it= myEntries .iterator();
while (it.hasNext()) {
String[] strArray = it.next();
for(String str: strArray)
System.out.println(str);
}
答案 1 :(得分:-1)
@JoãoMarcos
此代码稍作修改,以防万一。
CSVReader csvread = new CSVReader(new FileReader("test.csv"));
Iterator<String[]> myEntries = csvread.readAll().iterator();
while (myEntries.hasNext()) {
String[] strArray = myEntries.next();
for(String str: strArray)
System.out.println(str);
}
它非常好用!谢谢您的帮助。我现在理解我的代码! :)