将List值附加为String时遇到一个问题。我将在列表中获得1个或超过1个值。然后,我需要将这些字符串附加为一个字符串,并对每个字符串使用一个分隔符。但最后也增加了逗号。如何动态删除此字符串的末尾。这是我的代码:
cntList = parseXml(metadata.xml);
if (cntList.size() != 0) {
// entryCountryMap.put(id, country);
System.out.println("Size is ---->" + cntList.size());
StringBuilder sb = new StringBuilder();
if (cntList.size() >= 2) {
for (String s : cntList) {
sb.append(s);
sb.append(",");
}
}
System.out.println("StringBuilder ----->" + sb.toString());
}
我的输出是这样的:
StringBuilder ----->All Countries,US - United States,
请帮我解决这个问题。谢谢-拉吉
最佳答案
使用Java 8只需一根衬纸
String.join(",", cntList);
如果需要在联接到单个字符串之前过滤列表的元素和/或对字符串进行突变,则仍然可以以非常简洁的方式来实现,而无需循环。
cntList.stream().filter(...).map(...).collect(Collectors.joining(","));
(
...
需要用您的过滤谓词和映射器替换)