-1

这是一个简单的java编码问题。我有一个String[说"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

4 回答 4

5

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

 return Joiner.on("-").join(s);
于 2013-10-07T14:57:10.787 回答
2

来自Apache Commons Lang

String out = StringUtils.join(yourList, '-');
于 2013-10-07T14:57:03.677 回答
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();
}
于 2013-10-07T14:59:19.033 回答
1
StringBuilder sb = new StringBuilder();
for(String str: a){
    sb.append(str).append('-');
}
sb.deleteCharAt(sb.length() -1);
于 2013-10-07T15:15:19.483 回答