- Given two or more strings in java, we would like to concatenate or combine multiple strings.
- Java 8 has provided a new class to join Strings.
- We will use StringJoiner class to concat strings.
- We will demonstrate, how can we join strings using traditional approach and StringJoiner class.
- Combine or concat String without StringJoiner class (using StringBuilder class)
- Combine Strings using StringJoiner class in Java8
1. StringJoiner class have following constructors.
public StringJoiner(CharSequence delimiter)
public StringJoiner(CharSequence delimiter,
CharSequence prefix,
CharSequence suffix)
- Constructor taking delimiter only.
- [Example 1 in below code]
- Constructor taking delimiter, prefix and suffix
- [Example 2 and Example 3 in below code]
2. Join or combine multiple Strings – StringBuilder /StringJoiner (java8)
package org.learn;
import java.util.Arrays;
import java.util.List;
import java.util.StringJoiner;
import java.util.stream.Collectors;
public class StringJoin {
public static void main(String[] args) {
//Traditional approach.. Without Java 8 class
StringBuilder builder = new StringBuilder();
builder.append("Example");
builder.append(",");
builder.append("Of");
builder.append(",");
builder.append("String");
builder.append(",");
builder.append("Joiner");
System.out.println("Traditional approach : "+builder.toString());
//Java 8 -> New feature
//Example 1
StringJoiner joiner = new StringJoiner(",");
joiner.add("Example");
joiner.add("Of");
joiner.add("String");
joiner.add("Joiner");
//Output -> Example,Of,String,Joiner
System.out.println("Example 1 : "+joiner.toString());
//Example 2
joiner = new StringJoiner(",","[","]");
joiner.add("Example");
joiner.add("Of");
joiner.add("String");
joiner.add("Joiner");
//Output -> [Example,Of,String,Joiner]
System.out.println("Example 2 : "+joiner.toString());
//Example 3
List<String> stringList = Arrays.asList("Example","Of","String","Joiner");
String example3 = stringList.stream()
.collect(Collectors.joining(",","[","]"));
//Output -> [Example,Of,String,Joiner]
System.out.println("Example 3 : "+example3);
}
}
O/P: Concatenate multiple Strings – StringBuilder /StringJoiner (java8)
Traditional approach : Example,Of,String,Joiner
Example 1 : Example,Of,String,Joiner
Example 2 : [Example,Of,String,Joiner]
Example 3 : [Example,Of,String,Joiner]