Taken from http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#intern%28%29
Returns a canonical representation for the 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.
As the above suggests, this method can be used to make two strings that are the same in content, but created seperately, to be stored only once in the String pool and hence the ==
operator returns true
.