>Java >java지도 시간 >Java에서 Null이 아니고 비어 있지 않은 문자열을 안정적으로 확인하는 방법은 무엇입니까?

Java에서 Null이 아니고 비어 있지 않은 문자열을 안정적으로 확인하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-04 03:02:42702검색

How to Reliably Check for Non-Null and Non-Empty Strings in Java?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.