Java8 将List 转换成以逗号分割的String字符串
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类的有参构造。