The Java String intern() method returns the interned string. The intern method returns the canonical representation of a String.  Here are some examples through which you will understand the working of this method.

Java String intern():

Method signature:

The signature for an intern() method is as shown below.

public String intern()

Method parameters and return type:

Return type: It returns an interned string.

Parameters: It doesn’t take any parameters.

Throws: It throws NullPointerException if the string is null.

Example 1:

In this example, we have compared two strings with the same values, but one of them is created by using a new keyword. By using the intern() method with the second string, we have initialized the third string.

Source code:

public class Example1 {

    public static void main(String args[]) {
        String str1 = "This is a Java tutorial";
        String str2 = new String("This is a Java tutorial");
        String tempString = str2.intern();
        
        System.out.println(str1 == str2); 
        System.out.println(str1 == tempString);  
    }
}

Output:

run:
false
true
BUILD SUCCESSFUL (total time: 3 seconds)

Example 2:

Here is another example that will make your concept clear about the intern() method.

Source code:

public class Example2 {

    public static void main(String[] args) {
        String str1 = "Hello world";
        String str2 = str1.intern();
        String str3 = new String("Hello world");
        String str4 = str3.intern();
        
        System.out.println(str1 == str2);  
        System.out.println(str2 == str4); 
        System.out.println(str1 == str3);        
        System.out.println(str3 == str4);           
    }
}

Output:

run:
true
true
false
false
BUILD SUCCESSFUL (total time: 0 seconds)

Example 3:

You can also directly use the intern() method while initializing a string. Here is an example for this concept:

Source code:

public class Example3 {
    
    public static void main(String[] args) {
        String str1= "Java tutorials";
        String str2= new String("Java tutorials").intern();
        System.out.println(str1 == str2);
    }
}

Output:

run:
true
BUILD SUCCESSFUL (total time: 0 seconds)

References:

Happy Learning 🙂