java 中有没有类似string.join

java 中有没有类似string.join


牧羊人nacy
浏览 730回答 2
2回答

慕莱坞森

从你问题描述来看...应该是说其他某个语言有个方法是string.join,所以问问java中有没有类似方法与之对应,虽然我不清楚你那个语言里的sting.join代表啥意思,但是java8在String类中更新了一个新的静态方法就叫join,该方法可以把字符串串联起来,类似下面这种12345public static void main(String[] args) {    String[] arr = {"a", "b", "c"};    String str = String.join(",", arr);    System.out.println(str);}这个方法一共有两个参数,也好理解,第一个参数是一个连接符号,第二个参数是一个数组,要串联的列表虽然有这个静态方法,但是在Java8推荐的流使用模式下,更多情况,应该是使用流来处理12345678910111213public static void main(String[] args) {    String[] arr = {"a", "b", "c"};    // 无符号连接,最后结果abc    String str = Arrays.stream(arr).collect(Collectors.joining());    System.out.println(str);    // 指定符号连接,最后结果a,b,c    String str1 = Arrays.stream(arr).collect(Collectors.joining(","));    System.out.println(str1);    // 指定符号连接,指定最前和最后,最后结果{a,b,c}    String str2 = Arrays.stream(arr).collect(Collectors.joining(",", "{", "}"));    System.out.println(str2); }这里用到了Collectors.join方法,这个方法比起String.join方法更为强大  

红颜莎娜

123456789101112131415161718192021222324252627282930313233343536373839404142可以使用以下方法:String&nbsp;org.apache.commons.lang.StringUtils.join(Object[]&nbsp;array,&nbsp;String&nbsp;separator)&nbsp;&nbsp;//部分源码如下public&nbsp;static&nbsp;String&nbsp;join(Object[]&nbsp;array,&nbsp;String&nbsp;separator){&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(array&nbsp;==&nbsp;null)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;null;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;join(array,&nbsp;separator,&nbsp;0,&nbsp;array.length);}&nbsp;&nbsp;public&nbsp;static&nbsp;String&nbsp;join(Object[]&nbsp;array,&nbsp;String&nbsp;separator,&nbsp;int&nbsp;startIndex,&nbsp;int&nbsp;endIndex)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(array&nbsp;==&nbsp;null)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;null;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(separator&nbsp;==&nbsp;null)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;separator&nbsp;=&nbsp;"";&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;bufSize&nbsp;=&nbsp;endIndex&nbsp;-&nbsp;startIndex;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(bufSize&nbsp;<=&nbsp;0)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;"";&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;bufSize&nbsp;*=&nbsp;(((array[startIndex]&nbsp;==&nbsp;null)&nbsp;?&nbsp;16&nbsp;:&nbsp;array[startIndex].toString().length())&nbsp;+&nbsp;separator.length());&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;buf&nbsp;=&nbsp;new&nbsp;StringBuffer(bufSize);&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;startIndex;&nbsp;i&nbsp;<&nbsp;endIndex;&nbsp;++i)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(i&nbsp;>&nbsp;startIndex)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf.append(separator);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(array[i]&nbsp;!=&nbsp;null)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf.append(array[i]);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;buf.toString();}&nbsp;&nbsp;//使用示例:public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;arr&nbsp;=&nbsp;{&nbsp;"777",&nbsp;"www",&nbsp;"b"&nbsp;};&nbsp;&nbsp;&nbsp;&nbsp;System.err.println(StringUtils.join(arr,&nbsp;"&"));&nbsp;&nbsp;&nbsp;&nbsp;//输出777&www&b}&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java