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?