różnica w tworzeniu Stringa

0

Jaka jest różnica pomiędzy String name = "John" a String name = new String("John") ?

2

Samo użycie "John" jest już pierwszym stworzeniem stringa i dodaniem go do listy stringów internowanych. Oznacza to mniej więcej tyle, że każde użycie bezpośrednio w kodzie takiej "John" będzie się odnosiło do tego samego obiektu.

Pierwsza wersja zatem stworzy string "John" i doda go do stringów internowanych lub pobierze go z tej puli jeżeli został już wcześniej użyty.
Druga wersja zrobi to samo, ale zamiast przypisać go referencji, na jego podstawie stworzy kolejny, indywidualny obiekt w innym miejscu pamięci.

1 użytkowników online, w tym zalogowanych: 0, gości: 1