用Java打印列表

时间:2015-03-03 09:56:09

标签: java list csv printing

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

2 个答案:

答案 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);
        }

它非常好用!谢谢您的帮助。我现在理解我的代码! :)