第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java 中有沒有類似string.join

java 中有沒有類似string.join

冉冉說 2019-05-14 09:08:43
java 中有沒有類似string.join
查看完整描述

2 回答

?
慕標(biāo)5832272

TA貢獻1966條經(jīng)驗 獲得超4個贊

從你問題描述來看...應(yīng)該是說其他某個語言有個方法是string.join,所以問問java中有沒有類似方法與之對應(yīng),雖然我不清楚你那個語言里的sting.join代表啥意思,但是java8在String類中更新了一個新的靜態(tài)方法就叫join,該方法可以把字符串串聯(lián)起來,類似下面這種

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);

}

這個方法一共有兩個參數(shù),也好理解,第一個參數(shù)是一個連接符號,第二個參數(shù)是一個數(shù)組,要串聯(lián)的列表

雖然有這個靜態(tài)方法,但是在Java8推薦的流使用模式下,更多情況,應(yīng)該是使用流來處理

1

2

3

4

5

6

7

8

9

10

11

12

13

public static void main(String[] args) {

    String[] arr = {"a", "b", "c"};

    // 無符號連接,最后結(jié)果abc

    String str = Arrays.stream(arr).collect(Collectors.joining());

    System.out.println(str);

    // 指定符號連接,最后結(jié)果a,b,c

    String str1 = Arrays.stream(arr).collect(Collectors.joining(","));

    System.out.println(str1);

    // 指定符號連接,指定最前和最后,最后結(jié)果{a,b,c}

    String str2 = Arrays.stream(arr).collect(Collectors.joining(",", "{", "}"));

    System.out.println(str2);

 

}

這里用到了Collectors.join方法,這個方法比起String.join方法更為強大


 

 




查看完整回答
反對 回復(fù) 2019-05-15
?
蝴蝶不菲

TA貢獻1810條經(jīng)驗 獲得超4個贊


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

}

 




查看完整回答
反對 回復(fù) 2019-05-15
  • 2 回答
  • 0 關(guān)注
  • 995 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號