What, besides not being inherited from the final class, namely String.class , and the fact that when using the concat() method and the + operation a new object of the String type is created and not existing, is used to determine the immutability of the String class?
As immutable, the String class helps a programmer in real situations. The examples related to HashMap and multithreading would be interesting.