首页 > 编程语言 > 详细

Objects: java equals 与 Objects.equals 区别

时间:2019-12-25 18:22:26      阅读:82      评论:0      收藏:0      [点我收藏+]

已知有两个字符串a, b :

值是null的情况:
1. a.equals(b), a 是null, 抛出NullPointException异常。

2. a.equals(b), a不是null, b是null,  返回false

3. Objects.equals(a, b)比较时, 若a 和 b 都是null, 则返回 true, 如果a 和 b 其中一个是null, 另一个不是null, 则返回false。注意:不会抛出空指针异常

null.equals("abc")    →   抛出 NullPointerException 异常
"abc".equals(null)    →   返回 false
null.equals(null)     →   抛出 NullPointerException 异常
Objects.equals(null, "abc")    →   返回 false
Objects.equals("abc",null)     →   返回 false
Objects.equals(null, null)     →   返回 true

值是空字符串的情况:

1. a 和 b 如果都是空值字符串:"", 则 a.equals(b), 返回的值是true, 如果a和b其中有一个不是空值字符串,则返回false; 

2. 这种情况下 Objects.equals 与情况1 行为一致。

"abc".equals("")    →   返回 false
"".equals("abc")    →   返回 false
"".equals("")       →   返回 true
Objects.equals("abc", "")    →   返回 false
Objects.equals("","abc")     →   返回 false
Objects.equals("","")        →   返回 true

 

Objects: java equals 与 Objects.equals 区别

原文:https://www.cnblogs.com/yongdaimi/p/12098082.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!