數組轉字符串 java8


 

 

public static String arrayToString(int[] arr) { // 1,2,3...
        StringBuffer sb = new StringBuffer();
        for (int k : arr) {
            if (sb.length() < 1) {
                sb.append(String.format("%d", k));
            } else {
                sb.append(String.format(",%d", k));
            }
        }
        return sb.toString();
    }
//        int[] arr = {1,2,3,4};
        String[] arr = { "0", "1", "2", "3", "4", "5" };
//
        //使用StringUtils的join方法, 數組轉字符串 org.apache.commons.lang3.StringUtils
        String str3 = StringUtils.join(arr); // 數組轉字符串,其實使用的也是遍歷
        System.out.println(str3); // 012345
        String str4 = StringUtils.join(arr, ","); // 數組轉字符串(逗號分隔)(推薦)
        System.out.println(str4); // 0,1,2,3,4,5

        // 使用ArrayUtils的toString方法,數組轉字符串 org.apache.commons.lang3.ArrayUtils
        String str2 = ArrayUtils.toString(arr, ","); // 數組轉字符串(逗號分隔,首尾加大括號)
        System.out.println(str2); // {0,1,2,3,4,5}

 

 

不帶分隔符

  

        int[] arr = {1,2,3,4};
//
        String str1 = Arrays.stream(arr).boxed().map(i -> i.toString()) //必須將普通數組 boxed才能 在 map 里面 toString
                .collect(Collectors.joining(""));
        System.out.println(str1);

        String str2 = Arrays.stream(arr).boxed().map(i -> i.toString()).reduce("", String::concat);
        System.out.println(str2);

        String str3 = Arrays.stream(arr).boxed().map(Object :: toString).reduce("", String::concat); // 方法引用Object::toString
        System.out.println(str3);

 

list ->  string   帶分隔符

List<String> list = Arrays.asList("北京","南京","重慶","西安");

        String str1 = String.join(",",list);
        System.out.println(str1);

        String str2 = list.stream().collect(Collectors.joining(","));
        System.out.println(str2);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM