栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java-将引号附加到数组中的字符串并连接数组中的字符串

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-将引号附加到数组中的字符串并连接数组中的字符串

使用Java 8+

Java
8具有

Collectors.joining()
及其重载。它也有
String.join

使用
Stream
Collector

具有可重复使用的功能

Function<String,String> addQuotes = s -> """ + s + """;String result = listOfStrings.stream()  .map(addQuotes)  .collect(Collectors.joining(", "));

没有任何可重用的功能

String result = listOfStrings.stream()  .map(s -> """ + s + """)  .collect(Collectors.joining(", "));

最短的 (虽然有点骇人听闻)

String result = listOfStrings.stream()  .collect(Collectors.joining("", "", """, """));

使用
String.join

非常朴实。请勿在称为的方法中使用

wrapWithQuotesAndJoin

String result = listOfString.isEmpty() ? "" : """ + String.join("", "", listOfStrings) + """;

使用旧版Java

帮自己一个忙,并使用图书馆。番石榴立刻浮现在脑海。

使用番石榴

Function<String,String> addQuotes = new Function<String,String>() {  @Override public String apply(String s) {    return new StringBuilder(s.length()+2).append('"').append(s).append('"').toString();  }};String result = Joiner.on(", ").join(Iterables.transform(listOfStrings, addQuotes));

没有图书馆

String result;if (listOfStrings.isEmpty()) {  result = "";} else {  StringBuilder sb = new StringBuilder();  Iterator<String> it = listOfStrings.iterator();  sb.append('"').append(it.next()).append('"'); // Not empty  while (it.hasNext()) {    sb.append(", "").append(it.next()).append('"');  }  result = sb.toString();}

注意 :所有解决方案均假定

listOfStrings
是a
List<String>
而不是a
String[]
。你可以转换
String[]
List<String>
使用
Arrays.asList(arrayOfStrings)
。您可以
Stream<String>
直接从
String[]
using获取
Arrays.stream(arrayOfString)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451428.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号