java中关于equals方法使用的一些细节注意

java中关于equals方法使用的一些细节注意


     已经好久都没写博客了,看来当初每周定的至少写3篇博客的计划又泡汤了,最近都比较忙,各种事情都要做,在公司里忙这忙那,虽然自己的编程能力仍然十分欠缺,但自己的职场经验貌似你以前丰富了很多!3,4月份的时间估计是跳槽离职和面试的高峰期,跟自己同一批进来的应届生都已经纷纷提出了辞职,去寻找更好的下家。自己最近也有辞职的想法,但不管怎么样,时刻努力准备好面试和把自己的工作做好,一见到有好的跳槽机会就马上跳!不说那么多了,总之加油就好!
      说了那么多废话,还不如讲点实用的东西来得痛快!
      最近在编程的时候对equals还是颇有感触的,由于时间原因,下面就简单讲下equals一些注意事项。
      首先先上一段代码:

String [] resurt= this.test.Check(bean,dataMap);
			if(!resurt[0].equals("1")){  // 1表示通过验证
				logger.error("验证不通过!");
				throw new Exception("验证不通过");
			}

从以上代码中,我相信大家都已经看出隐患了吧,也就是说如果resurt[0]的值为null时,即!null.equals(“1”),遇到这种情况,我就呵呵了,经检测这种情况会报NullPointerException也就是空指针异常!那么该怎么改比较好呢???
很简单!有两种改法:

第一种:
将resurt[0]与“1”调换一下,即如下图所示:

String [] resurt= this.test.Check(bean,dataMap);
			if(!"1".equals(resurt[0]){  // 1表示通过验证
				logger.error("验证不通过!");
				throw new Exception("验证不通过");
			}

这样子调换位置,就不会报空指针异常了!

第二种
如果业务场景对null的值不做判断或者另作判断时,可以一开始对resurt[0]的结果进行一个初步判断,即加上if(resurt[0] != null && !resurt[0]).equals(""))这样的语句,这样就会过虑了空值和空字符串了。其次如果你还想对null值和空字符串进行判断时,可以在if下面再加个else进行判断!完整代码如下所示:

String [] resurt= this.test.Check(bean,dataMap);
if(resurt[0] != null && !resurt[0]).equals("")){
			if(!"1".equals(resurt[0]){  // 1表示通过验证
				logger.error("验证不通过!");
				throw new Exception("验证不通过");
	       }
	}else{
	..........这里可以根据需求做进一步的判断................
}
			

     总之大家以后在写代码时一定要对null值敏感点!就像我之前也讲过Integer,parseInt()这个方法使用不恰当的情况,也就是如果不加判断,直接Integer.parseInt(null)这样子的话是会报空指针异常的!

     所以以后大家在涉及到字符串的输出和输入时,务必多加个if(resurt[0] != null && !resurt[0]).equals(""))类似这样的判断,这样才会更保险点!

     好的,今天的内容就讲到这里!从现在开始,我要严格要求自己每周至少要输出3篇博客,不求有什么大的回报,只想养成一个总结和回顾的习惯,这样才能在巩固以前知识的基础上学到更多的东西!我有什么写得不好的地方,欢迎大家踊跃评论!谢谢!!

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Melo_FengZhi

您的鼓励对我就是巨大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值