W shorcie jest jedno niedopowiedzenie, niuans. W momencie, gdy tworzymy obiekt String przez new podając literał w konstruktorze 'String("Witcher")' to tak naprawdę ta wartość ląduje w 2 miejscach. Najpierw tworzony jest literał i zapisany w string poolu, następnie ta wartość jako parametr przekazana jest do konstruktora i dopiero w momencie utworzenia obiektu ląduje na stercie.
Generalnie nie i nie jest zalecane tworzenie obiektu poprzez ten konstruktor. Krąży po internecie jeden przykład użycia, który niby pokazuje, że taka operacja się gdzieś przydaje. Tutaj użytkownik Mike Simmons opisuje taki przypadek: coderanch.com/t/524964/java/String-string-literal
W shorcie jest jedno niedopowiedzenie, niuans. W momencie, gdy tworzymy obiekt String przez new podając literał w konstruktorze 'String("Witcher")' to tak naprawdę ta wartość ląduje w 2 miejscach. Najpierw tworzony jest literał i zapisany w string poolu, następnie ta wartość jako parametr przekazana jest do konstruktora i dopiero w momencie utworzenia obiektu ląduje na stercie.
Super, proszę o więcej 👍
Dzięki.
tego wogule idzie się nauczyć 😮
Jest jakiś konkretny powód, dla którego warto byłoby zrobić new String();?
Generalnie nie i nie jest zalecane tworzenie obiektu poprzez ten konstruktor. Krąży po internecie jeden przykład użycia, który niby pokazuje, że taka operacja się gdzieś przydaje. Tutaj użytkownik Mike Simmons opisuje taki przypadek: coderanch.com/t/524964/java/String-string-literal