Java:将List <String>转换为字符串

JavaScript有 Array.join()

js>["Bill","Bob","Steve"].join(" and ")

Bill and Bob and Steve

Java有这样的东西吗?我知道我可以使用StringBuilder自己整理一些东西:

static public String join(List<String> list, String conjunction)

{

StringBuilder sb = new StringBuilder();

boolean first = true;

for (String item : list)

{

if (first)

first = false;

else

sb.append(conjunction);

sb.append(item);

}

return sb.toString();

}

…但是如果类似的东西已经成为JDK的一部分,那么这样做是没有意义的。

回答:

使用Java 8,你无需任何第三方库就可以做到这一点。

如果要加入字符串集合,可以使用新的String.join()方法:

List<String> list = Arrays.asList("foo", "bar", "baz");

String joined = String.join(" and ", list); // "foo and bar and baz"

如果你的Collection的类型不是String,则可以将Stream API与加入的Collector一起使用:

List<Person> list = Arrays.asList(

new Person("John", "Smith"),

new Person("Anna", "Martinez"),

new Person("Paul", "Watson ")

);

String joinedFirstNames = list.stream()

.map(Person::getFirstName)

.collect(Collectors.joining(", ")); // "John, Anna, Paul"

StringJoiner也可能是有用的。

以上是 Java:将List &lt;String&gt;转换为字符串 的全部内容, 来源链接: utcz.com/qa/433434.html

回到顶部