根据equals()方法的逻辑,如果对象为null,则返回false。因此,输出为false,而不是报错。 综上所述,当我们使用equals()方法与null进行比较时,并不会导致错误。当其中一个对象为null时,equals()方法会返回false。因此,在编写代码时,我们需要小心处理对象为null的情况,并根据自己的需求正确地重写equals()方法,以便进行准...
在第一行比较中,person1.equals(person2)将返回false,因为person2是null。而在第二行的比较中,person2.equals(person1)将导致NullPointerException错误。这是因为我们在尝试调用equals方法时,person2为null,但null对象不存在equals方法。 为了避免这种情况,通常建议在调用equals时确保调用者不为null。一种常见的做法是...
如果this.name为null,那么equals()方法会报错,因为null为空引用,是一个特殊值,不是某种对象(实例),更加不会提供/支持任何方法(通过null调用方法是荒谬的), 应该先让this.name和null先做判断; 当然,null可以作为参数传入个其他(对象)的方法;因此,需要继续改写如下:public boolean equals(Object o) { ...
null==null将返回true。举例 假设我们现在有⼀个类,例如String,对于如下代码:String str = null;if (str.equals("Hello World!")){ System.out.println("Yes");}else { System.out.println("No");} 就会抛出空指针异常,但是,如果我们把第⼆⾏的条件判断改为:if ("Hello World!".equals(str))...
具体而言,当使用null作为参数调用equals方法时,会引发空指针异常(NullPointerException),因为null不是一个有效的对象实例,无法执行任何方法调用,如equals方法。相反,当使用空字符串""作为equals方法的参数时,不会出现异常。由于空字符串是初始化过的对象,其equals方法可以正常执行,当接收null作为参数...
java.lang.NullPointerException: null 由于功能改变,Vo返回字段要增多,添加若干字段后;后端开始报错。 数据结构是这样的,表中的记录生成时候并不带这个B字段信息,默认为null,管理员审批过后,填充B信息。那么在未填充之前,B的信息为空,此时如果用重写get方法进行显示判断,其实吧,这就变成一个null.equals的操作,这肯...
其实从equals源码里面我们可以看到,equals不允许其左边的值为空的,所以我们可以上面代码改成如下:public class equtest1 { public static void main(String[] args) { String name = null;if("name".equals(name)) { System.out.println("测试");} } } 这样就不会报错,其实Java1.7之后还支持一种写法:i...
有可能一些是null这的空 而一些是“null”字符串
1 新建Nullpoint类,在main方法里,设置变量a为null,b为""。首先执行a.equals(b)的的代码。2 鼠标右键main()方法,选择Run As ,Java Application,执行程序。3 执行结果报空指针错误,原因是a为null,直接拿null值去用equals()方法,会出错。4 调整代码,改成执行b.equals(a)的的代码。5 再次进行鼠标右键...