1. 程式人生 > >Java中string型變數判斷是否為空正解

Java中string型變數判斷是否為空正解

問:

    在java中

    一個String型的變數str

    判斷它是否為空str.length=0||str=null正確還是str=null||str.length=0正確

    答:

    首先你要明白,字串為空的說法,null還是"",這兩個是完全不同的意義,

    null表示這個字串不指向任何的東西,如果這時候你呼叫他的方法,那麼就會出現空指標異常

    而""表示他指向一個長度為0的字串,這時候呼叫他的方法是安全的。

    那麼根據以上的說法,判斷一個字串是否為空,首先就要確保他不是null,然後再判斷他的長度。

    String str = xxx;

    if(str != null && str.length() != 0) { }

    這種做法才是安全的,首先他會判斷str是否為空,如果為空那麼if就直接退出了,就不會再判斷後面的str.length() != 0了,這是JAVA的&&特性,也許其他語言也是這樣。