Проверка поведения метода getDefault класса Locale

Это правило помечает вызовы метода getDefault() класса java.util.Locale.

Этот метод помечается, поскольку изменилось связанное с ним поведение. Согласно документации Java 7 (Совместимость с Java SE 7 и JDK 7) пользователь теперь имеет доступ к локали для вывода (визуальное представление строки, например) или к локали для форматирования (фактический формат строки, например). С этой целью в Java 7 добавлен новый метод getDefault(Locale.Catgory cat), где Locale.Category - новое перечисление со значениями DISPLAY и FORMAT. С помощью этого нового метода пользователь может получить требуемую локаль.

Прежний метод getDefault(), который помечается данным правилом, изменен и стал эквивалентен вызову getDefault(Locale.DISPLAY). До Java 7 метод getDefault() возвращал значение, соответствующее вызову getDefault(Locale.FORMAT)

Локаль для вывода определяет отображение данных в пользовательском интерфейсе, например в окне или окне диалога. Например, данные могут показываться на языке, отличном от системы хоста.

Локаль форматирования определяет то, как данные форматируются. Например, в локали форматирования для США дата 4 октября 2011 г. представлена как 10/04/2011, а та же дата в локали форматирования для Великобритании - как 04/10/2011.

Пользователю необходимо проверить код и определить, влияет ли на него данное изменение, провести соответствующее тестирование и внести требуемые изменения в код.

Согласно документации пользователь может вернуть прежнее поведение, каким оно было в JDK 6, указав значение true в свойстве sun.locale.formatasdefault или добавив новый метод getDefault(Locale.Category cat) в код программы. В этом случае параметр cat будет Locale.Category.FORMAT

Дополнительная информация приведена в документации по API Java 7: