Null이 아니고 비어 있지 않은 문자열 평가
프로그래밍에서는 문자열 입력의 유효성을 보장하는 것이 중요합니다. 일반적인 작업에는 문자열이 null도 비어 있지도 않은지 확인하는 작업이 포함됩니다. 이 시나리오를 처리하기 위한 다양한 접근 방식을 살펴보겠습니다.
제공된 코드 조각을 고려해보세요.
public void doStuff(String str) { if (str != null && str != "") { /* handle empty string */ } /* ... */ }
이것은 직관적인 것처럼 보이지만 str이 null인 경우 잠재적인 오류가 발생합니다. Java에서 ==를 사용하여 문자열을 빈 문자열과 비교하면 str이 null인 경우 false로 평가됩니다. 이로 인해 str의 비어 있음을 확인할 때 의도하지 않은 null 포인터 예외가 발생할 수 있습니다.
isEmpty() 메서드 사용
보다 안전한 접근 방법은 사용 가능한 Java의 isEmpty() 메서드를 활용하는 것입니다. Java SE 1.6부터:
if(str != null && !str.isEmpty())
이 표현식은 str이 null이 아닌지 확인합니다. 공백이 아닌 문자가 하나 이상 있습니다. && 연산자를 사용하면 평가가 단락되어 str이 null인 경우 null 포인터 예외가 발생하지 않습니다.
공백 고려
다음과 같은 문자열을 확인해야 하는 경우 공백 문자를 포함하지 않는 경우, Trim() 메소드를 사용할 수 있습니다:
if(str != null && !str.trim().isEmpty())
이 표현식은 제거합니다. 앞뒤 공백 문자를 확인한 다음 비어 있는지 확인합니다. 또는 Java 11에서는 동일한 기능을 수행하는 isBlank() 메서드를 도입합니다.
if(str != null && !str.isBlank())
간결한 함수 접근 방식
간결한 솔루션을 위해 유틸리티 함수는 다음을 수행할 수 있습니다. 정의됨:
public static boolean empty( final String s ) { // Null-safe, short-circuit evaluation. return s == null || s.trim().isEmpty(); }
이 기능은 다음과 같이 활용될 수 있습니다. 다음은 다음과 같습니다.
if( !empty( str ) )
이러한 방법을 사용하면 개발자는 문자열이 null이 아닌지, 공백이 아닌 문자가 포함되어 있는지 효과적으로 확인하여 코드의 견고성과 정확성을 높일 수 있습니다.
위 내용은 Java에서 Null이 아니고 비어 있지 않은 문자열을 안정적으로 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!