可能重复:
以逗号分隔列表(Java)的最清晰方法?
我有一个List<String>,我需要将此列表转换为单行并在String此元素之间插入分隔符List,除了第一个元素之前的位置和最后一个元素之后的位置;
我做了一个这样的循环:
StringBuffer sb = new StringBuffer();
for (String str : list) {
sb.append(str).append(';');
}
if(sb.length() > 0)
sb.deleteCharAt(sb.length() - 1);
Run Code Online (Sandbox Code Playgroud)
我不喜欢删除最后一个令牌句子.
那么,哪种更优雅的方式做同样的事情呢?
Boh*_*ian 10
不要重新发明轮子...... apache commons-lang库有这个StringUtils.join()方法,它完全符合你的要求:
String s = StringUtils.join(list, ";"); // for example
Run Code Online (Sandbox Code Playgroud)
在java 8中,String该类具有执行所需操作的join()方法:
String s = String.join(";", list);
Run Code Online (Sandbox Code Playgroud)
看看在Google的Guava Libraries 中使用Joiner.
String delimitedString = Joiner.on(";").join(list);
Run Code Online (Sandbox Code Playgroud)