将逗号分隔的ArrayList值转换为String - Java

时间:2015-03-17 18:09:26

标签: java arraylist comma

我正在尝试将String值设为

"one","two","three", "four",

但我现在得到的是

"one","two","three, four",

这是代码,我在ArrayList中有一个逗号分隔值但是我想把逗号分隔的值作为两个不同的值而不是一个。

ArrayList<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three, four");

String listString = "";

for (String s : list)
{
    listString += "\"" + s + "\",";
}

System.out.println(listString);

有可能吗?如果是,我该怎么做?

3 个答案:

答案 0 :(得分:2)

您的问题是ArrayList不会自动在逗号上拆分。如果将“three,four”添加​​到ArrayList中,则将添加值为“three,four”的单个条目。

因此,你需要自己拆分“三,四” - split方法返回一个数组:

String[] strings = "three, four".split(", ");
list.add(strings[0]);
list.add(strings[1]);

请记住,split方法的参数是一个正则表达式 - 在这种情况下它不会有任何区别,但在某些情况下它可能是一个问题。

答案 1 :(得分:1)

当您遍历列表时,可以检查字符串是否包含逗号,如果包含逗号,则按&#34;,&#34;拆分。 (使用string.split(&#34;,&#34;)),然后使用您想要的格式打印出每个字符串。

ArrayList不会拆分您的第三个条目。它只是假设它是一个单独的字符串条目,因此你得到你看到的结果。

答案 2 :(得分:1)

这将按预期执行:

   list.addAll(Arrays.asList("three, four".split(",")));