In this article, we will show you a few StringJoiner
examples to join String.
1. StringJoiner
1.1 Join String by a delimiter
StringJoiner sj = new StringJoiner(","); sj.add("aaa"); sj.add("bbb"); sj.add("ccc"); String result = sj.toString(); //aaa,bbb,ccc
1.2 Join String by a delimiter and starting with a supplied prefix and ending with a supplied suffix.
StringJoiner sj = new StringJoiner("/", "prefix-", "-suffix"); sj.add("2016"); sj.add("02"); sj.add("26"); String result = sj.toString(); //prefix-2016/02/26-suffix
2. String.join
StringJoiner is used internally by static String.join()
.
2.1 Join String by a delimiter.
//2015-10-31
String result = String.join("-", "2015", "10", "31" );
2.2 Join a List by a delimiter.
List<String> list = Arrays.asList("java", "python", "nodejs", "ruby");
//java, python, nodejs, ruby
String result = String.join(", ", list);
3. Collectors.joining
Two Stream
and Collectors.joining
examples.
3.1 Join List<String>
example.
List<String> list = Arrays.asList("java", "python", "nodejs", "ruby");
//java | python | nodejs | ruby
String result = list.stream().map(x -> x).collect(Collectors.joining(" | "));
3.2 Join List<Object>
example.
void test(){ List<Game> list = Arrays.asList( new Game("Dragon Blaze", 5), new Game("Angry Bird", 5), new Game("Candy Crush", 5) ); //{Dragon Blaze, Angry Bird, Candy Crush} String result = list.stream().map(x -> x.getName()) .collect(Collectors.joining(", ", "{", "}")); } class Game{ String name; int ranking; public Game(String name, int ranking) { this.name = name; this.ranking = ranking; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getRanking() { return ranking; } public void setRanking(int ranking) { this.ranking = ranking; } }
Download Source Code
$ git clone https://github.com/favtuts/java-core-tutorials-examples
$ cd java-basic/java8