今天犯了一个细节上的小错误。
在给一个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()方法情况是一样的。