相关疑难解决方法(0)

为什么Android Lint在显式使用Locale.US时使用默认语言环境警告String.format?

我最初这样叫String.format:

return String.format("%s %f %f", anotherString, doubleA, doubleB);
Run Code Online (Sandbox Code Playgroud)

这使Android Lint生成此警告:

隐式使用默认语言环境是一个常见的错误来源:使用String.format(Locale,...)代替

所以我Locale.US根据我在http://developer.android.com/reference/java/util/Locale.html上的"警惕默认语言环境"部分中的内容将其更改为显式使用:

return String.format(Locale.US, "%s %f %f", anotherString, doubleA, doubleB);
Run Code Online (Sandbox Code Playgroud)

为什么Android Lint仍会生成相同的警告?我必须清理Eclipse中的项目以摆脱它,当大多数警告只在违规行被修复后消失.我不确定我是否做错了.

eclipse android android-lint

54
推荐指数
3
解决办法
3万
查看次数

当我调用String toLowerCase时,我应该指定哪个Locale

在Java中,String toLowerCase方法使用默认系统Locale来确定如何处理小写.如果我小写一些ASCII文本,并希望确保按预期处理这个,我应该使用哪个Locale?

编辑:我主要关心的是在模式中编写表名和列名等标识符.因此我想要英文下套管适用.

Locale.ROOT声明它是区域设置敏感操作语言/国家/地区中性区域设置

Locale.ENGLISH可能也是一个安全的选择.

java localization internationalization

17
推荐指数
1
解决办法
7366
查看次数

如何在android 4.2中使用toUppercase(locale)?

在此输入图像描述我使用android 4.2 SDK,我收到了这行代码的警告:

String text0 = tagalogText.getText().toString();
String textA = text0.substring(0, 1).toUpperCase() + text0.substring(1).toLowerCase();
Run Code Online (Sandbox Code Playgroud)

当我将鼠标悬停在它上面时,它说:

Implicitly using the default locale is a common source of bugs: Use toUpperCase(Locale) instead.
Run Code Online (Sandbox Code Playgroud)

隐式使用默认语言环境是错误的常见来源:使用toLowerCase(Locale).

我从Java复制代码,而不是Java for android.有谁知道如何删除此错误?为什么它现在是使用这种方法的首选方式?

android

7
推荐指数
2
解决办法
8718
查看次数