Почему Android Lint предупреждает о том, что String.format использует стандартную локаль при явном использовании Locale.US?

Я изначально называл String.format следующим образом:

 return String.format("%s %f %f", anotherString, doubleA, doubleB); 

Что заставило Android Lint генерировать это предупреждение:

Неявно использование локали по умолчанию является общим источником ошибок: вместо этого используйте String.format (Locale, …)

Поэтому я изменил его, чтобы явно использовать Locale.US , основываясь на том, что я читал по адресу http://developer.android.com/reference/java/util/Locale.html в разделе «Будьте осторожны с Locale.US по умолчанию»:

 return String.format(Locale.US, "%s %f %f", anotherString, doubleA, doubleB); 

Почему Android Lint по-прежнему генерирует одно и то же предупреждение? Мне нужно очистить проект в Eclipse, чтобы избавиться от него, когда большинство предупреждений просто исчезают, как только фиксируется строка нарушения. Я не уверен, что я делаю что-то неправильно или нет.

Уборка и восстановление проекта должны работать.

Кстати, вы можете использовать Locale.getDefault() для «заботы» о текстах, не написанных на английском языке.

Предполагаемый языковой стандарт по умолчанию в случае преобразования

Вызов String#toLowerCase() или #toUpperCase() без указания явной локали является общим источником ошибок. Причина этого в том, что эти методы будут использовать текущую локаль на устройстве пользователя, и даже несмотря на то, что код работает правильно, когда вы разрабатываете приложение, он не будет работать в некоторых локалях. Например, в турецком языке замена верхнего регистра для i не является I.

Если вы хотите, чтобы методы просто выполняли замену ASCII, например, чтобы преобразовать имя перечисления, вызовите String#toUpperCase(Locale.US) . Если вы действительно хотите использовать текущий язык, вызовите String#toUpperCase(Locale.getDefault()) .

http://developer.android.com/reference/java/util/Locale.html#default_locale

Intereting Posts
Как остановить Eclipse от попыток запуска XML-файлов? Как повернуть TextView без ограничения его границ? Поиск всей базы данных SQLite с использованием FTS3 / FTS4? Android Studio с сервисами Google Play Ormlite SQLiteCursor: закрыть курсор на null два или более Как проверить, является ли приложение не системным приложением в Android? Остановить поток с помощью оператора return Android-программа для увеличения и уменьшения изображения с помощью кнопки поиска? Обнаруживать, когда фрагмент рисуется? Как сделать режим чтения мягкой информации для фрагментов Android: вызов активности посева после съемки OnClick PendingIntent в виджетах иногда не работает Данные не синхронизированы между пользовательским CursorLoader и CursorAdapter, поддерживающим ListView Контрольная подсветка кода: не может установить другой стиль подсветки для информационных и слабых предупреждений Android не может найти метод символов getMap ()