添加分隔符有什么优雅的方式?

时间:2013-10-07 14:55:14

标签: java

这是一个简单的java编码问题。 我有一个String [Say "hello" "how" "are" "you?"]列表。我需要在列表的每个元素之间插入分隔符[-],以便我的输出为hello-how-are-you?

这样做的一个简单方法如下:

private static String addDelim(List<String> a)
{
    String s = "";
    for(int i=0; i<a.size(); i++)
    {
        if(i != 0) // don't add if first element
        {
            s += "-";
        }

        s += a.get(i);
    }
    return s;
}

有没有优雅的方法呢?

4 个答案:

答案 0 :(得分:5)

如果您可以包含Guava(强烈推荐),那么解决方案将是:

 return Joiner.on("-").join(s);

答案 1 :(得分:2)

来自Apache Commons Lang

String out = StringUtils.join(yourList, '-');

答案 2 :(得分:1)

如果您不想使用外部库,最好使用StringBuilder

private static String addDelim(List<String> a) {
    StringBuilder sb = new StringBuilder();
    for(int i=0; i < a.size(); i++) {
        if(i != 0) 
            sb.append("-");
        sb.append(a.get(i));
    }
    return sb.toString();
}

答案 3 :(得分:1)

StringBuilder sb = new StringBuilder();
for(String str: a){
    sb.append(str).append('-');
}
sb.deleteCharAt(sb.length() -1);