我想加入一个字符串[]与胶水字符串。有这个函数吗?


当前回答

从Java8开始,可以使用String.join()。

String.join(", ", new String[]{"Hello", "World", "!"})

生成:

Hello, World, !

另外,Apache Commons Lang有一个StringUtils类,它有一个连接函数,可以将数组连接在一起形成一个String。

例如:

StringUtils.join(new String[] {"Hello", "World", "!"}, ", ")

生成以下字符串:

Hello, World, !

其他回答

有一个简单的速记技巧,我大多数时候使用。

String op = new String;
for (int i : is) 
{
    op += candidatesArr[i-1]+",";
}
op = op.substring(0, op.length()-1);

我使用StringBuilder这样做:

public static String join(String[] source, String delimiter) {
    if ((null == source) || (source.length < 1)) {
        return "";
    }

    StringBuilder stringbuilder = new StringBuilder();
    for (String s : source) {
        stringbuilder.append(s + delimiter);
    }
    return stringbuilder.toString();
} // join((String[], String)

无论选择哪种方法,都要注意数组中的空值。它们的字符串表示形式是“null”,所以如果不是你想要的行为,跳过null元素。

String[] parts = {"Hello", "World", null, "!"};
Stream.of(parts)
      .filter(Objects::nonNull)
      .collect(Collectors.joining(" "));

从Java8开始,可以使用String.join()。

String.join(", ", new String[]{"Hello", "World", "!"})

生成:

Hello, World, !

另外,Apache Commons Lang有一个StringUtils类,它有一个连接函数,可以将数组连接在一起形成一个String。

例如:

StringUtils.join(new String[] {"Hello", "World", "!"}, ", ")

生成以下字符串:

Hello, World, !

如果你正在使用Spring框架,那么你有StringUtils类:

import static org.springframework.util.StringUtils.arrayToDelimitedString;

arrayToDelimitedString(new String[] {"A", "B", "C"}, "\n");