java - 打印并访问列表 <String[]>

标签 java string list

我正在读取文件并将其存储在 t1 中。如何访问 t1 中的元素?当我尝试打印它时,我得到的是地址而不是值。另外,StringString[] 有什么区别?

        CSVReader reader = new CSVReader(new FileReader("src/new_acquisitions.csv"));
        List <String[]> t1 = reader.readAll();

        int i = 0
        while(i < t1.size()) {
          System.out.println(t1.get(i));
          i++;
        }

输出:

[Ljava.lang.String;@9304b1
[Ljava.lang.String;@190d11
[Ljava.lang.String;@a90653
[Ljava.lang.String;@de6ced

最佳答案

String[] 是一个字符串数组,因此它没有像您预期的那样打印的原因,请尝试:

for (int i = 0; i < t1.size(); i++) {
    String[] strings = t1.get(i);
    for (int j = 0; j < strings.length; j++) {
        System.out.print(strings[j] + " ");
    }
    System.out.println();
}

或者更简洁:

for (String[] strings : t1) {
    for (String s : strings) {
        System.out.print(s + " ");
    }
    System.out.println();
}

或者更好的是:

for (String[] strings : t1) {
    System.out.println(Arrays.toString(strings));
}

关于java - 打印并访问列表 <String[]>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2983577/

相关文章:

java - Spring JPA : Select specific columns on join with annotation/JPQL

java 一维字符串转多维

python - 创建列表时语法无效

c++ - 缓存友好性 std::list 与 std::vector

java - 传递给调用方法的命令行参数

java - 我希望从 Java 中的匹配模式中提取值

java - Math.ceil 和 Math.floor 返回相同的值

Swift 查找所有出现的子字符串

c# - 如何使用 StreamWriter 逐字(不转义)写入转义字符?

c# - LINQ 查询字符串[] 按多个匿名列分组