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

将逗号分隔的ArrayList值转换为String-Java,java,arraylist,comma,Java,Arraylist,Comma,我正在尝试获取字符串值,如下所示 "one","two","three", "four", 但我现在得到的是 "one","two","three, four", 这是代码,我在ArrayList中有一个逗号分隔的值,但我想将逗号分隔的值作为两个不同的值,而不是一个 ArrayList<String> list = new ArrayList<String>(); list.add("one"); list.add("two"); list.add("three, f

我正在尝试获取字符串值,如下所示

"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 list=new ArrayList();
列表。添加(“一”);
列表。添加(“两个”);
列表。添加(“三,四”);
字符串listString=“”;
用于(字符串s:列表)
{
listString+=“\”+s+“\”,“;
}
System.out.println(listString);

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

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

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

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

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

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


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

这将按预期完成:

   list.addAll(Arrays.asList("three, four".split(",")));
是的,这是可能的,但您需要进行拆分。