如何将 List<String>转换为逗号分隔的字符串而不显式迭代 List

2022-08-31 06:43:29
List<String> ids = new ArrayList<String>();
ids.add("1");
ids.add("2");
ids.add("3");
ids.add("4");

现在我想要这个列表的输出为1,2,3,4,而不显式迭代它。


答案 1

在安卓设备上使用:

android.text.TextUtils.join(",", ids);

答案 2

使用 Java 8:

String csv = String.join(",", ids);

使用Java 7-,有一种肮脏的方式(注意:它只有在列表中不插入包含“, ”的字符串时才有效) - 显然,将执行一个循环来创建,但它不会出现在您的代码中:List#toStringidList

List<String> ids = new ArrayList<String>();
ids.add("1");
ids.add("2");
ids.add("3");
ids.add("4");
String idList = ids.toString();
String csv = idList.substring(1, idList.length() - 1).replace(", ", ",");