2 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
從你問題描述來(lái)看...應(yīng)該是說(shuō)其他某個(gè)語(yǔ)言有個(gè)方法是string.join,所以問問java中有沒有類似方法與之對(duì)應(yīng),雖然我不清楚你那個(gè)語(yǔ)言里的sting.join代表啥意思,但是java8在String類中更新了一個(gè)新的靜態(tài)方法就叫join,該方法可以把字符串串聯(lián)起來(lái),類似下面這種
1 2 3 4 5 | public static void main(String[] args) { String[] arr = {"a", "b", "c"}; String str = String.join(",", arr); System.out.println(str); } |
這個(gè)方法一共有兩個(gè)參數(shù),也好理解,第一個(gè)參數(shù)是一個(gè)連接符號(hào),第二個(gè)參數(shù)是一個(gè)數(shù)組,要串聯(lián)的列表
雖然有這個(gè)靜態(tài)方法,但是在Java8推薦的流使用模式下,更多情況,應(yīng)該是使用流來(lái)處理
1 2 3 4 5 6 7 8 9 10 11 12 13 | public static void main(String[] args) { String[] arr = {"a", "b", "c"}; // 無(wú)符號(hào)連接,最后結(jié)果abc String str = Arrays.stream(arr).collect(Collectors.joining()); System.out.println(str); // 指定符號(hào)連接,最后結(jié)果a,b,c String str1 = Arrays.stream(arr).collect(Collectors.joining(",")); System.out.println(str1); // 指定符號(hào)連接,指定最前和最后,最后結(jié)果{a,b,c} String str2 = Arrays.stream(arr).collect(Collectors.joining(",", "{", "}")); System.out.println(str2);
} |
這里用到了Collectors.join方法,這個(gè)方法比起String.join方法更為強(qiáng)大

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 可以使用以下方法: String org.apache.commons.lang.StringUtils.join(Object[] array, String separator)
//部分源碼如下 public static String join(Object[] array, String separator){ if (array == null) { return null; } return join(array, separator, 0, array.length); }
public static String join(Object[] array, String separator, int startIndex, int endIndex) { if (array == null) { return null; } if (separator == null) { separator = ""; } int bufSize = endIndex - startIndex; if (bufSize <= 0) { return ""; } bufSize *= (((array[startIndex] == null) ? 16 : array[startIndex].toString().length()) + separator.length()); StringBuffer buf = new StringBuffer(bufSize); for (int i = startIndex; i < endIndex; ++i) { if (i > startIndex) { buf.append(separator); } if (array[i] != null) { buf.append(array[i]); } } return buf.toString(); }
//使用示例: public static void main(String[] args) { String[] arr = { "777", "www", "b" }; System.err.println(StringUtils.join(arr, "&")); //輸出777&www&b } |
添加回答
舉報(bào)