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

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

Susan Sarandon
Susan SarandonOriginal
2025-01-04 03:02:42681browse

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

Assessing Non-Null and Non-Empty Strings

In programming, ensuring the validity of string inputs is crucial. A common task involves verifying whether a string is neither null nor empty. Let's explore various approaches to handle this scenario.

Considering the code snippet provided:

public void doStuff(String str)
{
    if (str != null && str != "")
    {
        /* handle empty string */
    }
    /* ... */
}

While this seems intuitive, it introduces a potential error if str is null. In Java, comparing a string to an empty string using == evaluates to false if str is null. This can lead to an unintended null pointer exception when checking the emptiness of str.

Using isEmpty() Method

A safer approach involves utilizing Java's isEmpty() method available since Java SE 1.6:

if(str != null && !str.isEmpty())

This expression ensures that str is not null and has at least one non-whitespace character. Using the && operator, it short-circuits the evaluation, avoiding a null pointer exception if str is null.

Considering Whitespace

If it's necessary to check for strings that do not contain any whitespace characters, the trim() method can be employed:

if(str != null && !str.trim().isEmpty())

This expression removes leading and trailing whitespace characters and then checks for emptiness. Alternatively, Java 11 introduces the isBlank() method, which accomplishes the same functionality:

if(str != null && !str.isBlank())

Concise Function Approach

For a concise solution, a utility function can be defined:

public static boolean empty( final String s ) {
  // Null-safe, short-circuit evaluation.
  return s == null || s.trim().isEmpty();
}

This function can be utilized as follows:

if( !empty( str ) )

By employing these methods, developers can effectively ascertain whether a string is not null and contains non-whitespace characters, enhancing the robustness and accuracy of their code.

The above is the detailed content of How to Reliably Check for Non-Null and Non-Empty Strings in Java?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn