0
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
4

5 回答 5

4

您的代码工作正常,但看起来您正在打印错误的内容。改为这样做:

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

仅打印一个数组将为您提供您所看到的输出。

于 2012-10-16T16:10:06.333 回答
1

您可以Arrays.toString()用来打印数组的元素,

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

或者迭代它们:

for(String s : list.get(0)) System.out.println(s);
于 2012-10-16T16:10:12.920 回答
1

尝试

List<String[]> list = new ArrayList<String[]>();
String str = "a b c";
list.add(str.split(" "));
System.out.println(Arrays.toString(list.get(0)));
于 2012-10-16T16:10:50.703 回答
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]

于 2012-10-16T16:12:10.680 回答
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));
    }
}
于 2012-10-16T16:16:11.277 回答