【发布时间】:2011-09-08 20:16:45
【问题描述】:
有这个:
List<String> elementNames = Arrays.asList("h1", "h2", "h3", "h4", "h5", "h6");
什么是使用自定义分隔符获取字符串的优雅方法,如下所示:
"h1,h2,h3,h4,h5,h6"
【问题讨论】:
-
抱歉重复了。快速搜索了一下,似乎错过了。
有这个:
List<String> elementNames = Arrays.asList("h1", "h2", "h3", "h4", "h5", "h6");
什么是使用自定义分隔符获取字符串的优雅方法,如下所示:
"h1,h2,h3,h4,h5,h6"
【问题讨论】:
StringBuilder sb = new StringBuilder();
for(String s: elementnames) {
sb.append(s).append(',');
}
sb.deleteCharAt(sb.length()-1); //delete last comma
String newString = sb.toString();
更新:从 java 8 开始,您可以使用以下方法获得相同的结果:
List<String> elementNames = Arrays.asList("1", "2", "3");
StringJoiner joiner = new StringJoiner(",", "", "");
elementNames.forEach(joiner::add);
System.out.println(joiner.toString());
【讨论】:
如果你不介意使用 apache 提供的 StringUtils 库,你可以这样做:
// Output is "a,b,c"
StringUtils.join(["a", "b", "c"], ',');
【讨论】: