目录
问题解决 问题
问题:在Java中如何将String链表转换成一个String字符串?
Stackoverflow地址:stackoverflow.com/questions/1…
在Javascript中有Array.join()方法可以实现对应的功能,比如:
["Bill","Bob","Steve"].join(" and ") Bill and Bob and Steve
那么,Java有没有类似的方法呢? 题主自己利用StringBuilder实现了一个类似功能的方法,具体实现如下:
static public String join(Listlist, 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()方法。 具体代码可以参考如下:
Listlist = Arrays.asList("foo", "bar", "baz"); String joined = String.join(" and ", list); // "foo and bar and baz"
如果集合类型不是单独的String,你也可以使用Stream接口和Collector的joining()方法实现对应的功能,具体代码如下:
Listlist = 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类可能也是可以考虑的。
作者简介:大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,公众号:玩转音视频。同时也是 CSDN 博客专家、华为云享专家(共创编辑)、InfoQ 签约作者,欢迎关注我分享更多干货!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)