Java8 将List<Integer> 转换成以逗号分割的String字符串

2022-08-23 12:36:52

1、使用谷歌的Joiner(代码超级短)

import com.google.common.base.Joiner;

import java.util.ArrayList;
import java.util.List;

public class Convert {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(5);
        list.add(4);
        list.add(1);
        System.out.println(Joiner.on(",").join(list));
    }
}

2、使用String.join方法(不用需要CharSequence类型的子类才行,并且需要同类型)

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class Convert {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(5);
        list.add(4);
        list.add(1);
        System.out.println(String.join(",", list.stream().map(String::valueOf).collect(Collectors.toList())));
    }
}

3、使用collect转换

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class Convert {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(5);
        list.add(4);
        list.add(1);
        System.out.println(list.stream().map(String::valueOf).collect(Collectors.joining(",")));
    }
}

第2、3方式类似。最后的本质都是使用StringJoiner类的有参构造。

  • 作者:coder-zm
  • 原文链接:https://blog.csdn.net/qq_27255679/article/details/95059610
    更新时间:2022-08-23 12:36:52