1
JavaIntermediate#collections
Security (used as DB URLs, classloader keys), thread safety, String pool reuse to save memory, and reliable hashCode caching for HashMap keys.
String a = "cat"; String b = "cat"; // both point to same object in the String pool since Strings are immutable & interned