关于null值的判断问题

前几天看到几个人在坛子里争论关于判断空值时null在前还是在后的问题,大约想了下有如下两种情况:
一、单纯判断对象是否为空,如:

String str = null;
if(null == str){
//对对象的相关操作
}


null在前与在后没有固定的标准,只是个人习惯的问题,至于if块中的内容肯定是不会直接去调用str上的方法,否则就没必要去做这个判断了;
二、判断对象属性是否为空或是否为某个值,如:

Map<String,String> map = new HashMap<String,String>();
map.put("key", "value");
if(null != map && "a".equals(map.get("val"))){
//对map的操作
}

判断对象属性是否为空前一定要确定对象是否为空,即逻辑与运算符前半段,该部分只是判断map对象是否为空,不涉及调用null值属性的问题,不会出现空指针,也就不存在null值在前或在后的问题了,后半段由于map.get(key)在key不存在的情况会返回空值,所有这部分一定要放在后边,否则调用null值的equals方法会出现空指针异常;
以上纯属个人见解,有点新手帖的意思,呵呵,有问题欢迎拍砖。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值