簡體   English   中英

在java中空字符串檢查

[英]Null check for string in java

a=nullb=null它會拋出NPE

String a,b;

if ((aValue.equals("null")||aValue==null||aValue.isEmpty()) && 
(!bValue.equals("null")||bValue!=null || !bValue.isEmpty()))

我想檢查什么時候沒有值而b有價值。 如何在沒有任何庫的情況下使其正常有效。

必須首先檢查aValue==null ,因為表達式是從左到右計算的,如果aValue==null ,則aValue.equals("null")將拋出NullPointerException

bValue的檢查應該在它們之間具有&& (AND)條件,因為你需要bValue有一個值。 同樣,應首先評估bValue!=null

if ((aValue==null||aValue.equals("null")||aValue.isEmpty()) && 
(bValue!=null && !bValue.equals("null") && !bValue.isEmpty()))

順便說一句,您是否期望aValuebValue包含String “null”? 這樣的價值會代表“沒有價值”嗎? 如果不是這種情況,則.equals("null")的測試。

首先你必須檢查aValue==null因為如果它有null然后在aValue.equals("null")它將拋出異常,即空指針異常。以避免你應該使用

if ((aValue==null||aValue.equals("null")||aValue.isEmpty()) && 
(bValue!=null && bValue.equals("null") && !bValue.isEmpty()))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM