Как реализована неизменность string в java
В Java
строка (String
) является неизменяемым (immutable
) объектом, то есть после создания строки её нельзя изменить. Когда мы изменяем строку, мы фактически создаем новую строку, которая содержит изменения. Это означает, что операции над строками в Java
обычно более безопасны, чем операции над изменяемыми объектами.
Неизменность строк в Java
достигается путем хранения строк в виде массива символов (char[]
), который является неизменяемым объектом. При изменении строки создается новый массив символов с новым значением строки.
Также Java
использует кэширование строк, что позволяет экономить память. Если две строки содержат одинаковые символы, то они ссылаются на один и тот же объект в памяти (строка сохраняется в пуле строк). Это возможно благодаря тому, что строка является неизменяемой.