首页 > 其他分享 >正确使用 equals 方法

正确使用 equals 方法

时间:2022-11-01 12:35:35浏览次数:87  
标签:正确 方法 Object equals str null 异常 指针


分享知识 传递快乐

 

Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。
 

举个例子:

// 不能使用一个值为null的引用类型变量来调用非静态方法,否则会抛出异常
String str = null;
if (str.equals("abc")) {
...
}

运行上面的程序会抛出空指针异常,但是我们把第二行的条件判断语句改为下面这样的话,就不会抛出空指针异常。

"abc".equals(str);// false

我们看一下​​java.util.Objects类的equals​​的源码就知道原因了。

public static boolean equals(Object a, Object b) {
// 可以避免空指针异常。如果a==null的话此时a.equals(b)就不会得到执行,避免出现空指针异常。
return (a == b) || (a != null && a.equals(b));
}

 

 

 

 

 

 

 

————————————

如有不妥之处请留言指正。
相互学习,共同进步。

标签:正确,方法,Object,equals,str,null,异常,指针
From: https://blog.51cto.com/u_15856116/5813278

相关文章

  • 为什么重写equals一定要重写hashCode方法?
    分享知识传递快乐  equals方法和hashCode方法都是Object类中的方法。equals方法在其内部是调用了"==",所以说在不重写equals方法的情况下,equals方法是比较两个对象是否具......
  • Spring------Bean的实例化的几种方法
    构造方法提供可访问的构造方法:无参构造方法被调用:如果无参构造方法不存在,将抛出异常BeanCreationException静态工厂在ApplicaytionContext.xml中使用静态工厂的方法......
  • 部署静态网站的五种方法
    第一种:添加静态页面在Tomcat8\webapps\ROOT根路径下例如:在ROOT文件夹下放一个hello.html的静态页面访问方法:localhost:8080/hello.html第二种:在Tomcat8\webapps路径下自定义......
  • nginx的upstream配置backup和check方法
    server{  listen         80;  server_name      ocean.xxxx;  access_log       /app/tengine_log/logs/oce......
  • velocity模板判断null和空字符串方法
    在web开发中,经常会遇到一个需求是,判断变量为空(null)或者空字符串(""),从而影响页面的展示逻辑,velocity中有相应的方法可以判断。当然也可以在java后端转化到有效值再判断。......
  • 升讯威在线客服系统客服端英文界面的技术实现方法,客户落地巴西圣保罗
    我在业余时间开发维护了一款免费开源的升讯威在线客服系统,也收获了许多用户。对我来说,只要能获得用户的认可,就是我最大的动力。最近收到来自巴西客户的需求,希望为客服端......
  • SSM实战的问题和处理方法----wsdchong
    前言:经过两个星期的学习,初步了解了SSM的环境配置和一些相关了解。第一阶段--理论了解的过程首先是4/20开始写的笔记:​​spring学习笔记​​、​​mybatis学习笔记​​、​​......
  • Keras可视化神经网络架构的4种方法
    我们在使用卷积神经网络或递归神经网络或其他变体时,通常都希望对模型的架构可以进行可视化的查看,因为这样我们可以在定义和训练多个模型时,比较不同的层以及它们放置的顺序......
  • PHP反序列化做题方法
    1.简化:把PHP代码复制到编辑器里面,寻找PHP反序列化的魔术方法,然后把不需要的部分删去2.找链子:通过以知的魔术方法,寻找到可以利用的点,然后想办法通过对象与方法的调用执行......
  • aCRF --> SDTM存入方法
    1.Other情况--fornon-resultqualifier1.1  某个变量的特殊情况,将其存如到SUPP--中1.2 具体的原因 1.3在一堆qualifier变量中有other  如果保持CT,对应变......