Использование String литералов предпочтительнее создания объектов с помощью new String, потому что это позволяет эффективно управлять памятью и уменьшать количество дублирующихся строк. 2
Когда строка создаётся с помощью литерала, JVM проверяет, существует ли уже такая строка в пуле. 2 Если она найдена, то ссылка на существующую строку возвращается. 2 Если нет — создаётся новая строка и помещается в пул. 2
В то время как создание объекта с помощью new String создаёт новый объект строки, даже если такая строка уже существует в пуле. 2 Это занимает время и память. 34
Таким образом, если в приложении используется фиксированное количество строковых значений, то лучше использовать String литералы для лучшей производительности. 1 Если же приложению в разное время нужны разные строки, то для их создания лучше использовать оператор new. 1