Вам не нужно слишком беспокоиться о строковых литералах.Строковые литералы обрабатываются JVM специально для повышения производительности и уменьшения накладных расходов памяти.Строковый литерал, используемый в любом месте вашего кода (локальный или другой), объединяется и повторно используется JVM.Это сделано, чтобы сократить количество объектов String, созданных в JVM.Каждый раз, когда ваш код создает строковый литерал, JVM сначала проверяет строковый литерал в пуле.Если строка уже существует в пуле, возвращается ссылка на экземпляр пула.Если строка не существует в пуле, создается новый объект String, а затем помещается в пул.Java может сделать эту оптимизацию, поскольку строки неизменяемы и могут использоваться совместно, не опасаясь повреждения данных.Однако такое поведение верно только для строковых литералов, а не для объектов, созданных с ключевым словом «new».
Таким образом, создание строкового литерала переменной класса (частное статическое конечное поле класса) или сохранение его в качестве локальной переменной имеет тот же эффект.