String.formatted()
Вызов formatted() непосредственно на строке-шаблоне.
Сравнение кода
✕ Java 8
String msg = String.format(
"Hello %s, you are %d",
name, age
);
✓ Java 15+
String msg =
"Hello %s, you are %d"
.formatted(name, age);
Заметили проблему в этом коде? Сообщите нам.
Почему современный подход лучше
Естественная читаемость
Template.formatted(args) воспринимается лучше, чем String.format(template, args).
Цепочки вызовов
Можно объединять в цепочку с другими строковыми методами.
Меньше кода
Устраняет избыточный статический вызов String.format().
Старый подход
String.format()
Современный подход
formatted()
Начиная с JDK
15
Сложность
Начинающий
Поддержка JDK
String.formatted()
Доступно
Широко доступно с JDK 15 (сентябрь 2020)
Как это работает
String.formatted() — это метод экземпляра, аналогичный String.format(), но вызываемый на строке форматирования. Он читается более естественно в потоке слева направо.
Связанная документация
Доказательство