数组转字符串 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);

猜你喜欢

转载自www.cnblogs.com/hahajava/p/11586642.html
今日推荐