将逗号分隔的 ArrayList 值转换为字符串 - Java

Convert comma separated ArrayList value to String - Java

我正在尝试将字符串值设为

"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);

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

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

因此,您需要自己拆分 "three, four" - 拆分方法 returns 一个数组:

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

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

当你遍历列表时,你可以检查字符串是否包含逗号,如果包含,然后用“,”分割(使用string.split(, "))然后打印出每个具有所需格式的字符串。

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

这将按预期进行:

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