向List <string []> </string []>添加数组时出错

时间:2012-10-16 16:07:01

标签: java arrays list

List<String[]> list = new ArrayList<String[]>();
String str = "a b c";
list.add(str.split(" "));

基本上我想要一个{a,b,c}的数组但是这不起作用。我是否必须迭代并加载每个元素?我该怎么做?

我的错误输出如下所示:

[Ljava.lang.String;@3d4b7453
[Ljava.lang.String;@24c21495

5 个答案:

答案 0 :(得分:4)

您的代码运行正常,但看起来您打印的内容错误。这样做:

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

只打印一个数组会为您提供类似于您所看到的输出。

答案 1 :(得分:1)

您可以使用Arrays.toString()打印数组元素

System.out.println(Arrays.toString(list.get(0)));

或者迭代它们:

for(String s : list.get(0)) System.out.println(s);

答案 2 :(得分:1)

尝试

List<String[]> list = new ArrayList<String[]>();
String str = "a b c";
list.add(str.split(" "));
System.out.println(Arrays.toString(list.get(0)));

答案 3 :(得分:1)

我想你想用这种方式打印: -

    List<String[]> list = new ArrayList<String[]>();
    String str = "a b c";
    list.add(str.split(" "));

    System.out.println(Arrays.toString(list.get(0)));

打印: - [a, b, c]

答案 4 :(得分:0)

您可以使用Arrays.asList()

List<String> list = new ArrayList<String>();
String str = "a b c";
list.addAll(Arrays.asList(str.split(" ")));

打印结果如:

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