Java中打印List<String[]>集合的最简方法是什么?
解决List<String[]>控制台打印问题
嘿,这问题我之前也碰到过!你用的Arrays.toString(rows)和String.join之所以无效,是因为rows是字符串数组的列表,不是单纯的字符串列表:
Arrays.toString(rows)只会打印每个String[]对象的内存引用(比如[Ljava.lang.String;@123456),不是数组里的实际内容;String.join要求集合元素是CharSequence类型(比如String),但你的元素是String[],类型不匹配,编译器直接就会报错。
最简打印方法
一行代码就能搞定,用Java 8+的forEach结合Arrays.toString,直接遍历每一行(每个字符串数组)并打印其内容:
rows.forEach(row -> System.out.println(Arrays.toString(row)));
比如CSV里的一行是["张三", "25", "北京"],控制台就会输出[张三, 25, 北京],每一行占单独一行。
进阶:把所有行合并成一个字符串打印
如果想把所有内容一次性输出(用换行分隔每行),可以用Stream API:
import java.util.stream.Collectors; // ... String allRows = rows.stream() .map(Arrays::toString) .collect(Collectors.joining("\n")); System.out.println(allRows);
传统for循环写法(兼容Java 8之前)
要是你用的Java版本比较老,也可以用普通增强for循环:
for (String[] row : rows) { System.out.println(Arrays.toString(row)); }
内容的提问来源于stack exchange,提问作者n0rek
相关产品推荐
相关产品推荐

