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));
프로젝트에 따라 로케일 설명을 볼 수 있습니다 .
'ProgramingTip' 카테고리의 다른 글
jQuery를 사용하여 전체 HTML 노드를 어떻게 교체합니까? (0) | 2020.12.10 |
---|---|
회귀 테스트는 무엇을 의미합니까? (0) | 2020.12.10 |
IIS 7 오류“지정된 세션이 없습니다. (0) | 2020.12.10 |
os.walk는 어떤 순서로 반복을 반복을 반복합니까? (0) | 2020.12.10 |
Git으로 푸시하려는 "remote : fatal error in commit_refs"오류를 어떻게 수정합니까? (0) | 2020.12.10 |