In Java, we can use String.join(",", list)
to join a List String with commas.
1. Java 8
1.1 String.join
JavaStringExample1.java
package com.favtuts.java8; import java.util.Arrays; import java.util.List; public class JoinListString { public static void main(String[] args) { joinListStringWithStringJoin(); } static void joinListStringWithStringJoin() { List<String> list = Arrays.asList("a","b","c"); String result = String.join(",", list); System.out.println(result); } }
Output
a,b,c
1.2 Stream Collectors.joining
JavaStringExample2.java
package com.favtuts.java8; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class JoinListString { public static void main(String[] args) { joinListStringWithCollectorsJoining(); } static void joinListStringWithCollectorsJoining() { List<String> list = Arrays.asList("a", "b", "c"); String result = list.stream().collect(Collectors.joining(",")); System.out.println(result); } }
Output
a,b,c
2. In Old Days
Create a custom method to join the String with separator manually.
JavaStringExample3.java
package com.favtuts.java8; import java.util.Arrays; import java.util.List; public class JoinListString { public static void main(String[] args) { joinListStringWithCustomMethod(); } static void joinListStringWithCustomMethod() { System.out.println(join(",", Arrays.asList("a"))); System.out.println(join(",", Arrays.asList("a", "b"))); System.out.println(join(",", Arrays.asList("a", "b", "c"))); System.out.println(join(",", Arrays.asList(""))); System.out.println(join(",", null)); } private static String join(String separator, List<String> input) { if (input == null || input.size() <= 0) return ""; StringBuilder sb = new StringBuilder(); for (int i = 0; i < input.size(); i++) { sb.append(input.get(i)); // if not the last item if (i != input.size() - 1) { sb.append(separator); } } return sb.toString(); } }
Output
a
a,b
a,b,c
//empty
Download Source Code
$ git clone https://github.com/favtuts/java-core-tutorials-examples
$ cd java-basic/java8