将逗号分隔的 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(",")));
我正在尝试将字符串值设为
"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(",")));