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

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

JavaScriptArray.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的一部分,那么这样做是没有意义的。


千万里不及你
浏览 8088回答 3
3回答

BIG阳

使用Java 8,您可以在没有任何第三方库的情况下做到这一点。如果要加入字符串集合,可以使用新的String.Join()方法:List<String>&nbsp;list&nbsp;=&nbsp;Arrays.asList("foo",&nbsp;"bar",&nbsp;"baz");String&nbsp;joined&nbsp;=&nbsp;String.join("&nbsp;and&nbsp;",&nbsp;list);&nbsp;//&nbsp;"foo&nbsp;and&nbsp;bar&nbsp;and&nbsp;baz"如果您有一个包含其他类型而不是字符串的集合,则可以将StreamAPI与加入收集人:List<Person>&nbsp;list&nbsp;=&nbsp;Arrays.asList( &nbsp;&nbsp;new&nbsp;Person("John",&nbsp;"Smith"), &nbsp;&nbsp;new&nbsp;Person("Anna",&nbsp;"Martinez"), &nbsp;&nbsp;new&nbsp;Person("Paul",&nbsp;"Watson&nbsp;"));String&nbsp;joinedFirstNames&nbsp;=&nbsp;list.stream() &nbsp;&nbsp;.map(Person::getFirstName) &nbsp;&nbsp;.collect(Collectors.joining(",&nbsp;"));&nbsp;//&nbsp;"John,&nbsp;Anna,&nbsp;Paul"这个StringJoiner类也可能有用。

繁星点点滴滴

不是开箱即用,但许多图书馆也有类似的地方:朗公:org.apache.commons.lang.StringUtils.join(list,&nbsp;conjunction);春天:org.springframework.util.StringUtils.collectionToDelimitedString(list,&nbsp;conjunction);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java