Java 15 String.formatted(args): безопасно для использования с учетом локали?JAVA

Программисты JAVA общаются здесь
Anonymous
Java 15 String.formatted(args): безопасно для использования с учетом локали?

Сообщение Anonymous »

В Java до версии 15 самым простым способом форматирования строки было использование метода String.format(Locale, String, args). Также было сочтено лучшим вариантом использовать Locale.ROOT в качестве локали (если вы не хотите использовать конкретную локаль) вместо локали по умолчанию, которая могла бы вызвать проблемы, которые трудно отладить.
Теперь, начиная с Java 15, появился новый метод, доступный непосредственно в экземплярах String: String.formatted(args). Однако новый метод не позволяет передавать локаль. Внутри он использует класс java.util.Formatter, который на самом деле поддерживает локали, но также использует локаль по умолчанию (

Код: Выделить всё

Locale.getDefault(Locale.Category.FORMAT)
).
Теперь мне интересно, что либо что-то изменилось в JDK и больше нет проблем с использованием локали по умолчанию (я сомневаюсь, что это может быть правдой), ИЛИ Новый метод даже не предполагается использовать в контекстах, где важна локаль. Но тогда я не уверен, каковы рекомендации, когда использовать новый метод (если вообще).
Любые советы и рекомендации приветствуются!

Подробнее здесь: https://stackoverflow.com/questions/790 ... ware-usage

Вернуться в «JAVA»