Включает ли компилятор Java свертку констант строк?

Я обнаружил, что Java поддерживает свертывание констант примитивных типов , но как насчет String s?

Пример

Если я создам следующий исходный код

out.write(""
        + ""
        + ""
        + "Easier to read if it is split into multiple lines"
        + ""
        + ""
        + "");

Что входит в скомпилированный код?

Объединенная версия? out.write (" Легче читать, если он разбит на несколько строк ");

Или менее эффективная версия конкатенации во время выполнения? out.write (new StringBuilder (" ") .append ("") .append ("") .append ("Легче читать, если он разделен на несколько строк"). append ("") .append (" разметка> "). append (" "));

5
задан DaveInCaz 20 August 2018 в 17:43
поделиться