ProgramingTip

Android ADT 21.0 경고 : 암시 적으로 기본 로케일 사용

bestdevel 2020. 12. 10. 20:57
반응형

Android ADT 21.0 경고 : 암시 적으로 기본 로케일 사용


ADT를 v. 21로 업데이트 한 것이 코드에 새로운 경고가 나타납니다.

if (e.getMessage().toLowerCase().contains("blabla"))

Implicitly using the default locale is a common source of bugs: Use toLowerCase(Locale) instead

그래서 나는 시도합니다.

if (e.getMessage().toLowerCase(Locale.ENGLISH).contains("blabla"))

그러나 오류는 여전히 남아 있습니다! 이 문제를 어떻게 해결합니까?


Locale.getDefault()가 항상 pdf 미리보기 라인 논문 텍스트로되어 있는지 확신 할 수없는 경우 특히 사용해야합니다 . 또한 Lint를 실행하거나 프로젝트를 정리 한 후에는 일반적으로 발생하는 것과 같은 Lint 오류가 다시 사라집니다.


다음을 클릭하여 프로젝트를 정리하기 만하면됩니다.

Build > Clean Project 또는 Build > Rebuild Project


실제로 Locale.getDefault()사용자에게 텍스트를 표시하는 것이 목표 사용 합니다. 그러나 이것이 린트 검사의 요점이며, Locale.US기계 가독성 /이 목표 일 사용 때마다 사용해야 합니다. Locale.getDefault()지정하지 이미 암시 적으로 사용 중이기 때문에 장치에 자체 기본 로케일이 지정되어 있기 때문에 찾기가 어려울 수 있습니다. 다른 사람들이 제안한 것처럼 어느 쪽이든 프로젝트를 정리해야 할 것입니다.


Locale.getDefault ()를 사용하고 프로젝트를 정리하십시오.


아마도 Lint 버그 일 것입니다. 전체 코드 줄을 자르십시오.

if (e.getMessage().toLowerCase(Locale.ENGLISH).contains("blabla"))

저장 한 다음 넣습니다.


프로젝트 정리가 효과가 없었기 때문에 코드에 기본 로케일을 추가했습니다.

String.format(Locale.getDefault(), "firstname: %s, lastname: %s", firstName, lastName));

프로젝트에 따라 로케일 설명을 볼 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/13444546/android-adt-21-0-warning-implicitly-using-the-default-locale

반응형