- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
ID: java-best-practices/literals-first-in-comparison
Language: Java
Severity: Warning
Category: Best Practices
One should always prioritize using a string literal as the first arguments in any string comparison. This approach serves as a preventive measure against NullPointerExceptions
because when the second argument is null, instead of encountering an exception, the comparisons will simply yield false results.
class Foo {
boolean bar(String x) {
return x.equals("42"); // should be "42".equals(x)
}
boolean bar(String x) {
return x.equalsIgnoreCase("42"); // should be "42".equalsIgnoreCase(x)
}
boolean bar(String x) {
return (x.compareTo("bar") > 0); // should be: "bar".compareTo(x) < 0
}
boolean bar(String x) {
return (x.compareToIgnoreCase("bar") > 0); // should be: "bar".compareToIgnoreCase(x) < 0
}
boolean baz(String x) {
return x.contentEquals("baz"); // should be "baz".contentEquals(x)
}
}
class Foo {
boolean bar(String x) {
return "42".equals(x);
}
boolean bar(String x) {
return "42".equalsIgnoreCase(x);
}
boolean bar(String x) {
return "bar".compareTo(x) < 0;
}
boolean bar(String x) {
return "bar".compareToIgnoreCase(x) < 0;
}
boolean baz(String x) {
return "baz".contentEquals(x);
}
}
|
|
For more information, please read the Code Analysis documentation
Identify code vulnerabilities directly in yourVS Code editor
Identify code vulnerabilities directly inJetBrains products