今天犯了一個細節上的小錯誤。
在給一個String字元串判空的時候我是這樣寫的:
mPhoneAttrCode = DBManager.getInstance().getPhoneAttrCode();
if (mPhoneAttrCode.isEmpty()) {
DBManager.getInstance().setPhoneAttr(getResources().getString(R.string.mine_cambodia), "855");
}
運作報錯(空指針):
、
原因:
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()方法情況是一樣的。