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

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

Susan Sarandon
發布: 2025-01-04 03:02:42
原創
726 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板