Неизменяемый объект — это такой объект, который нельзя изменить или модифицировать после его создания. В Java класс String разработан как неизменяемый, что означает: как только объект String создан, его значение нельзя изменить.
Когда ты создаёшь объект String в Java, он хранится в специальной области памяти, называемой String Pool. После создания исходный объект String остаётся неизменённым на протяжении всего выполнения программы. Если ты пытаешься изменить String, переназначив его новому значению, Java не модифицирует существующий объект. Вместо этого она создаёт совершенно новый объект String с новым значением.
String original = "Hello";
String modified = original.concat(" World");
// original всё ещё "Hello"
// modified — это новый объект со значением "Hello World"
Хотя сам объект String является неизменяемым, переменная-ссылка может быть переназначена, чтобы указывать на другой объект String. Это различие критично для понимания поведения String в Java и управления памятью.
Когда ты вызываешь concat() на объекте String, исходная строка изменяется на месте и возвращается ссылка на неё.
Новый — ещё не проверен сообществом
Вы