Java 10: расширения Unicode для локалей (Locale Enhancements)
JEP 314 — Unicode Language-Tag Extensions
Java 7 добавила поддержку BCP 47 language tags, но Unicode locale extensions были ограничены календарём и числами. В Java 10 java.util.Locale и связанные классы обновлены для поддержки дополнительных расширений per LDML spec:
- cu — типы валют (currency types)
- fw — первый день недели (first day of week)
- rg — переопределение региона (region override)
- tz — часовой пояс (time zone)
Обновлённые API
java.text.DateFormat::get*Instance
java.text.DateFormatSymbols::getInstance
java.text.DecimalFormatSymbols::getInstance
java.text.NumberFormat::get*Instance
java.time.format.DateTimeFormatter::localizedBy
java.time.format.DateTimeFormatterBuilder::getLocalizedDateTimePattern
java.time.format.DecimalStyle::of
java.time.temporal.WeekFields::of
java.util.Calendar::{getFirstDayOfWeek,getMinimalDaysInWeek}
java.util.Currency::getInstance
java.util.Locale::getDisplayName
java.util.spi.LocaleNameProvider
Эти изменения позволяют точнее настраивать форматирование дат, чисел, валют и календарей для конкретных локалей.
java
- Освоение операторов Java: типы, синтаксис и практические примеры
- Комментарии в Java: типы, использование и лучшие практики
- Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
- Освоение строк в Java: создание, методы и лучшие практики
- Интерфейсы в Java: концепции, реализация и лучшие практики
- Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
- Try-with-resources в Java: автоматическое управление ресурсами
- Аннотации в Java: типы, размещение и практические примеры
- Assertions в Java: практическое руководство по обнаружению багов и обеспечению надежности кода
- Понимание Java Vector: использование, особенности и сравнение с ArrayList