評估非空和非空字串
在程式設計中,確保字串輸入的有效性至關重要。一個常見的任務涉及驗證字串是否既不為 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中文網其他相關文章!