При создании строки с использованием двойных кавычек ("строка"
) JVM ищет в пуле строк (String Pool) строку с таким же содержимым. Если такая строка найдена, возвращается ссылка на существующий объект. Если нет, создается новый объект строки в пуле строк, и возвращается ссылка на него. Это оптимизирует использование памяти, так как одинаковые строковые литералы ссылаются на один и тот же объект.
При создании строки с использованием конструктора new String("строка")
всегда создается новый объект строки вне пула строк, даже если в пуле строк уже есть строка с таким же содержимым.
Различия:
new String
- нет.new String
с одинаковым содержимым.При создании строки с использованием двойных кавычек ("строка"
) JVM ищет в пуле строк (String Pool) строку с таким же содержимым. Если такая строка найдена, возвращается ссылка на существующий объект. Если нет, создается новый объект строки в пуле строк, и возвращается ссылка на него. Это оптимизирует использование памяти, так как одинаковые строковые литералы ссылаются на один и тот же объект.
При создании строки с использованием конструктора new String("строка")
всегда создается новый объект строки вне пула строк, даже если в пуле строк уже есть строка с таким же содержимым.
Различия:
new String
- нет.new String
с одинаковым содержимым.Register or sign in to get access to full answers for all questions from the question bank.