天天看點

Java系列之——如何判斷字元串為空( “” 、 null )

Java中

String 包裝類定義了三個方法可以判斷為不為空

str1.isEmpty()

str1.length()

str1.equals()

 但是,如果 str1 是 null 直接調用上面三種方法就會出現空指針異常,如下圖所示:

Java系列之——如何判斷字元串為空( “” 、 null )
Java系列之——如何判斷字元串為空( “” 、 null )
Java系列之——如何判斷字元串為空( “” 、 null )

這是因為 null 表示這個字元串不指向任何的東西,如果這時候你調用它的方法,那麼就會出現空指針異常。

null不是對象,""是對象,是以 null 沒有配置設定空間,"" 配置設定了空間,

例如:

String str1 = null;   //str1 引用為空 
String str2 = "";     //str2 引用一個空串
           

str1 還不是一個執行個體化的對象,而 str2 是已經執行個體化的對像

是以,對象用 equals 比較,null 用等号比較

ps:在判斷字元串是否為空時,先判斷是不是對象(即不為null);如果是,再判斷是不是空字元串

例如:

if( str1.equals("") || str1==null ){}     //錯誤寫法

if( str1==null  ||  str1.equals("")   ){}    //正确寫法
if( str1==null  ||  str1.isEmpty()    ){}    //正确寫法(推薦)
if( str1==null  ||  str1.length()<=0  ){}    //正确寫法
           

轉載請注明出處。