首頁 >Java >java教程 >如何在 Java 中可靠地檢查非空和非空字串?

如何在 Java 中可靠地檢查非空和非空字串?

Susan Sarandon
Susan Sarandon原創
2025-01-04 03:02:42683瀏覽

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

評估非空和非空字串

在程式設計中,確保字串輸入的有效性至關重要。一個常見的任務涉及驗證字串是否既不為 null 也不為空。讓我們來探索處理這種情況的各種方法。

考慮提供的程式碼片段:

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

雖然這看起來很直觀,但如果 str 為 null,它會引入潛在的錯誤。在 Java 中,如果 str 為 null,則使用 == 將字串與空字串進行比較的結果為 false。這可能會在檢查 str 的空性時導致意外的空指標異常。

使用isEmpty() 方法

更安全的方法是利用Java 的isEmpty() 方法從Java SE 1.6 開始:

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

此表達式確保str 不為null 並且至少有一個非空白字元。使用 && 運算子可以短路求值,避免 str 為 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 ) )

透過使用這些方法,開發者可以有效地判斷字串是否不為空並且包含非空白字符,從而增強程式碼的健全性和準確性。

以上是如何在 Java 中可靠地檢查非空和非空字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn