Java String: intern() Method

public String intern()

The intern() method is used to get a canonical representation of a given string object.

A pool of strings, initially empty, is maintained privately by the class String.

When the intern method is invoked, if the pool already contains a string equal to this String object as determined by the equals(Object) method, then the string from the pool is returned. Otherwise, this String object is added to the pool and a reference to this String object is returned.

It follows that for any two strings s and t, s.intern() == t.intern() is true if and only if s.equals(t) is true.

All literal strings and string-valued constant expressions are interned. String literals are defined in section 3.10.5 of the Java™ Language Specification.

Java Platform: Java SE 8



Return Value: a string that has the same contents as this string, but is guaranteed to be from a pool of unique strings.

Example: Java String intern() Method

The following example shows the usage of java String() method.

public class Example {

public static void main(String[] args)
        // Create three strings in three different ways.
        String str1 = "PHP Exercises";
        String str2 = new StringBuffer("Java").append(" Exercises").toString();
        String str3 = str2.intern();

        // Determine which strings are equivalent using the ==
        // operator (as compared to calling equals(), which is
        // a more expensive operation.
System.out.println("str1 == str2? " + (str1 == str2));
System.out.println("str1 == str3? " + (str1 == str3));


str1 == str2? false                                                            
str1 == str3? false

Java Code Editor:

Previous:indexOf Method
Next:isEmpty Method

Follow us on Facebook and Twitter for latest update.