为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

千万里不及你 2019-06-18 15:02:57
Java:将List<string>转换为字符串JavaScriptArray.join()js>["Bill","Bob","Steve"].join(" and ")Bill and Bob and SteveJava有类似的东西吗?我知道我可以用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的一部分,那么这样做是没有意义的。
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

使用Java 8,您可以在没有任何第三方库的情况下做到这一点。

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

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

如果您有一个包含其他类型而不是字符串的集合,则可以将StreamAPI与加入收集人:

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类也可能有用。


查看完整回答
反对 回复 2019-06-18
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

不是开箱即用,但许多图书馆也有类似的地方:

朗公:

org.apache.commons.lang.StringUtils.join(list, conjunction);

春天:

org.springframework.util.StringUtils.collectionToDelimitedString(list, conjunction);


查看完整回答
反对 回复 2019-06-18
  • 3 回答
  • 0 关注
  • 8087 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信