天天看點

java.lang.String.isEmpty()

今天犯了一個細節上的小錯誤。

在給一個String字元串判空的時候我是這樣寫的:

mPhoneAttrCode = DBManager.getInstance().getPhoneAttrCode();
if (mPhoneAttrCode.isEmpty()) {
            DBManager.getInstance().setPhoneAttr(getResources().getString(R.string.mine_cambodia), "855");
        }
           

運作報錯(空指針):

java.lang.String.isEmpty()

原因:

public boolean isEmpty()

This method returns true if length() is 0, else false.

也就是isEmpty()方法隻負責判斷字元串的長度是否為0,不能判斷Null的情況。

解決方法:

(1)

if(str!=null && !str.isEmpty()){

}
           

(2)

if (TextUtils.isEmpty(str)) {

}
           

擴充:

"".equals(str)
           

和isEmpty()方法情況是一樣的。