$show=/label

Java 8 String API Join() Method Example

SHARE:

Quick guide to Java 8 String Join() method concat the multiple string with the given delimiter. Join() method returns new string by joining all strings with delimiter.

1. Java 8 String join() Overview

In this tutorial, We'll learn about Java 8 String API new join() method with example java programs.

join() method is introduced in java.lang.String class to concatenate the given strings with the delimiter.

Join method returns a new String composed of copies of the CharSequence elements joined together with a copy of the specified delimiter.
Join is static method. No need of creating object for String class.

Internally it works based on the new java 8 class StringJoiner class.


Java 8 String API Join() Method Example


Static initializers and blocks in java


In this post, We will write example programs first and then next will see how it is implemented internally.


2. Join() Method Syntax


Join method has two variants and it is an overloaded method in String class.

public static String join​(CharSequence delimiter, CharSequence... elements)
public static String join​(CharSequence delimiter, Iterable elements)

Join method takes two parameters and both are type of CharSequence.

The first overloaded method takes arguments as below.

First argument: It is a delimiter which can be char or String.
Second argument: It is Var-Args arguments. We can pass multiple arguments type of String or StringBuffer. But all parameters type should be same.

The second overloaded method takes arguments as below.
First argument: It is a delimiter which can be char or String.
Second argument: Takes any Collection api class as argument such as ArrayList, Hashset etc.

CharSequence is an interface and it implementation classes are CharBuffer, Segment, String, StringBuffer, StringBuilder. So, we can pass any of these as parameter to join method. We will write with examples.

3. Join() method example


We will implement java programs on join() method.

3.1 Joining with '-' Example

In this example, We are passing "-" as delimiter and passing elements which to be joined with delimiter.

package examples.java.w3schools.string.join;

public class StringJoinExample1 {
 public static void main(String[] args) {

  String joinString = String.join(" - ", "java", "is", "a", "prigramming", "language");
  System.out.println("Final joinString : " + joinString);
 }
}

Output:

Final joinString : java - is - a - prigramming - language

3.2 Joining numbers with greater than symbol '>' Example


package examples.java.w3schools.string.join;

public class StringJoinExample2 {
 public static void main(String[] args) {

  String joinString = String.join(" > ", "10", "8", "6", "4", "2");
  System.out.println("Final joinString : " + joinString);
 }
}

Output:

Final joinString : 10 > 8 > 6 > 4 > 2

3.3 StringBuffer Example using Join() method


public class StringJoinSBExample {

 public static void main(String[] args) {

  StringBuffer buffer1 = new StringBuffer();
  buffer1.append("java");

  StringBuffer buffer2 = new StringBuffer();
  buffer2.append("w3schools");

  String joinString = String.join("-", buffer1, buffer2);
  System.out.println("Final joinString : " + joinString);
 }

} 


Output:

Final joinString : java-w3schools

3.4 Join() Example With null element

Note that if an element or value is null, then "null" is added to the returned string.


public class StringJoinNullExample {

 public static void main(String[] args) {

  String joinString = String.join("***", null, null);
  System.out.println("null example joinString : " + joinString);
 }
}


Output:

null example joinString : null***null

3.5 Join() With delimiter as null

If the delimiter is null then NullPointerException will be thrown.

String joinString = String.join(null, "hello"); 

Output:

Exception in thread "main" java.lang.NullPointerException
 at java.base/java.util.Objects.requireNonNull(Objects.java:221)
 at java.base/java.lang.String.join(String.java:2393)
 at w3schools/examples.java.w3schools.string.join.StringJoinExample.main(StringJoinExample.java:8)


3.6 Join() Example with Collection api - ArrayList

Join method takes collection as well as arguments using following method.

public static String join​(CharSequence delimiter, Iterable elements)

Here is the example to join the list of elements. We can pass all collection api classes to join method.

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

public class StringJoinExample {
 public static void main(String[] args) {

  List fruits = new ArrayList<>();
  fruits.add("Orange");
  fruits.add("Papaya");
  fruits.add("Banana");
  fruits.add("Kiwi");
  fruits.add("Apple");

  String joinString = String.join("***", fruits);

  System.out.println("List example joinString : " + joinString);
 }
}

Output:

List example joinString : Orange***Papaya***Banana***Kiwi***Apple

4. Internal Implementation of Join method


Join method internally does mainly three steps.

Step 1) Null check for delimiter. if null then NullPointerException will be thrown.

Step 2)
Null check for elements. if null then NullPointerException will be thrown.

Step 3) Creating StringJoiner instances by adding delimiter and iterating elements elements, adding to StringJoiner.

Internal Code:


public static String join(CharSequence delimiter, CharSequence... elements) {
        Objects.requireNonNull(delimiter);
        Objects.requireNonNull(elements);
        // Number of elements not likely worth Arrays.stream overhead.
        StringJoiner joiner = new StringJoiner(delimiter);
        for (CharSequence cs: elements) {
            joiner.add(cs);
        }
        return joiner.toString();
    }
 
 
public static String join(CharSequence delimiter,
            Iterable elements) {
        Objects.requireNonNull(delimiter);
        Objects.requireNonNull(elements);
        StringJoiner joiner = new StringJoiner(delimiter);
        for (CharSequence cs: elements) {
            joiner.add(cs);
        }
        return joiner.toString();
    }


5. Conclusion


In this article, We've seen what is new java 8 String API Join() method and what are the varients added to this method.

Further in this post, discussed many example programs on String, StringBuffer, ArrayList API.

Explained how join() method works internally step by step.

Example code snippets shown in this article is available on GitHub.

COMMENTS

BLOGGER

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,16,Arrays,7,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,5,Collections,22,Collector,1,Command Line,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,81,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,4,Dictionary,1,Difference,1,Download,1,Eclipse,2,Efficiently,1,Error,1,Errors,1,Exception,1,Exceptions,3,Fast,1,Files,9,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,4,Grant,1,Grep,1,HashMap,1,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,5,Iterate,2,Jackson API,3,Java,29,Java 10,1,Java 11,5,Java 12,5,Java 13,2,Java 14,2,Java 8,66,Java 8 Difference,2,Java 8 Stream Conversions,2,java 8 Stream Examples,3,Java 9,1,Java Conversions,11,Java Design Patterns,1,Java Files,1,Java Program,2,Java Programs,65,java.lang,5,java.util. function,1,jQuery,1,Kotlin,10,Kotlin Conversions,3,Kotlin Programs,6,Lambda,1,lang,29,Leap Year,1,live updates,1,Logging,1,Mac OS,2,Math,1,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,1,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,21,String,58,String Programs,9,String Revese,1,Swing,1,System,1,Tags,1,Threads,10,Tomcat,1,Tomcat 8,1,Troubleshoot,16,Unix,2,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Java 8 String API Join() Method Example
Java 8 String API Join() Method Example
Quick guide to Java 8 String Join() method concat the multiple string with the given delimiter. Join() method returns new string by joining all strings with delimiter.
https://1.bp.blogspot.com/-bf5cvRoI6BQ/XO0gqh3KSDI/AAAAAAAABlE/nF4ZYbnLaB8kn6FGGf1Vep-76mfu-mdowCLcBGAs/s320/Java%2B8%2BString%2BAPI%2BJoin%2528%2529%2BMethod%2BExample.PNG
https://1.bp.blogspot.com/-bf5cvRoI6BQ/XO0gqh3KSDI/AAAAAAAABlE/nF4ZYbnLaB8kn6FGGf1Vep-76mfu-mdowCLcBGAs/s72-c/Java%2B8%2BString%2BAPI%2BJoin%2528%2529%2BMethod%2BExample.PNG
JavaProgramTo.com
https://www.javaprogramto.com/2019/02/java-string-join.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2019/02/java-string-join.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content