Czy dwa ciągi o tej samej zawartości będą przechowywane w tej samej lokalizacji pamięci?

To jest pytanie, które dostałem w wywiadzie.

Mam dwa ciągi zdefiniowane jako

String s1="Java";
String s2="Java";

Moje pytanie brzmi, czy te dwa odniesienia wskazują na tę samą lokalizację pamięci. Ogólnie rzecz biorąc, kiedy tworzymy identyczne ciągi znaków (bez nowego słowa kluczowego), czy zawartość jest zapisywana w pamięci tylko raz, a wszystkie obiekty String o tej samej zawartości odnoszą się tylko do tej samej lokalizacji, bez zbędnego przechowywania ciągu „Java”? Kody skrótu s1 i s2 są takie same. Ale czy hashcodes zależą bezpośrednio od lokalizacji pamięci obiektu?

questionAnswers(9)

yourAnswerToTheQuestion