如何在Java中打印/记录字符串数组?

30

背景简介:

我有一个 csv 文件,其中有很多行,每一行都有字符串元素,以下是这样一行的一个示例

String[] data = [20,11,Clothing,TShirts,Abercombie,Gap]

data.toString() = [Ljava.lang.String;@1152e94]

现在,在我的解析器中,我正在解析这个csv文件,并将文件中的每一行作为String[] data得到。在我的日志页面中,我需要同时有id和文件中的行。

目前,如果我尝试打印,我会得到像 [Ljava.lang.String;@1152e94 这样的值。我的问题是,如何获取实际的数组元素列表,像 [20, 11, Clothing, TShirts, Abercombie, Gap]

尝试使用默认的toString(),但仍然会得到相同的LString数据。

4个回答

67

5
我得到的值是[Ljava.lang.String;@1152e94。 (说明:该值为Java中数组对象的默认toString()方法返回的地址值,而非实际的字符串数组内容) - Rachel
是的,我明白了,在使用 Arrays.toString() 后,我能够很好地打印出值,没有任何问题。 - Rachel

11

使用Arrays.toString(array);,它会正常工作。


1

0

读取csv文件的一行,然后对该行调用String.split(",")方法,它将返回该行中每个单独字符串的数组,接着你可以简单地循环遍历该数组并按需打印出来。

String csvLine = scanner.nextLine();

String[] values = csvLine.split(",");
for(String s : values){
  System.out.println(s);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接