Java中重写Object类中的equals()方法问题?
如图,请问其中的o==null时为什么可以直接返回false,当this==null时o和this的值不就相同了吗...
如图,请问其中的o == null 时为什么可以直接返回false,当this == null时o和this的值不就相同了吗
展开
展开全部
因为 当对象能调用到 equals 函数时 this 一定不是 null,所以 o == null 时 this 一定不等于 o , null 代表着空对象,无任何方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-12-23
展开全部
找个直白一点的比喻 this = 手机 o = 另一部手机 equals=打通电话
this = null 的时候,表示你根本没买手机,想打电话咋弄?肯定脑子里抛出来个疑问:“我手机呢?" 就是java中抛出来的空指针异常
所以在调用对象的 方法之前,首先确保对象不能为null,这也是一般写equals的时候,要求必须能保证部位null的 一方在前,不确定的在后 比如 定义变量String str, 因为不确定是不是null,所以如果用其他确定有值的字符串比较的时候 可以 "".equals(str)
this = null 的时候,表示你根本没买手机,想打电话咋弄?肯定脑子里抛出来个疑问:“我手机呢?" 就是java中抛出来的空指针异常
所以在调用对象的 方法之前,首先确保对象不能为null,这也是一般写equals的时候,要求必须能保证部位null的 一方在前,不确定的在后 比如 定义变量String str, 因为不确定是不是null,所以如果用其他确定有值的字符串比较的时候 可以 "".equals(str)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当this == null时调用equals()方法会抛出NullPointerException,所以不会出现这种情况。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
null是个对象吗?在null上能调用equals方法吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询