Текстовые блоки для многострочных строк
Писать многострочные строки естественно с помощью текстовых блоков с тройными кавычками.
Сравнение кода
✕ Java 8
String json = "{\n" +
" \"name\": \"Duke\",\n" +
" \"age\": 30\n" +
"}";
✓ Java 15+
String json = """
{
"name": "Duke",
"age": 30
}""";
Заметили проблему в этом коде? Сообщите нам.
Почему современный подход лучше
Читается как есть
JSON, SQL и HTML в исходном коде выглядят как настоящие JSON, SQL и HTML.
Никаких escape-последовательностей
Встроенные кавычки не требуют экранирования обратной косой чертой.
Умные отступы
Ведущие пробелы автоматически обрезаются по позиции закрывающего разделителя.
Старый подход
Конкатенация строк
Современный подход
Текстовые блоки
Начиная с JDK
15
Сложность
Начинающий
Поддержка JDK
Текстовые блоки для многострочных строк
Доступно
Доступно в JDK 15 (сент. 2020)
Как это работает
Текстовые блоки позволяют писать многострочные строки именно так, как они выглядят. Больше не нужны escape-последовательности для кавычек или \n. Компилятор автоматически удаляет случайные отступы.
Связанная документация
Доказательство