internChooses and returns the representative instance for any of a collection of instances that are equal to each other. If two equal inputs are given to this method, both calls will return the same instance. That is,
intern(a).equals(a)always holds, and
intern(a) == intern(b)if and only if
a.equals(b). Note that
intern(a)is permitted to return one instance now and a different instance later if the original interned instance was garbage-collected.
Warning: do not use with mutable objects.