Objects: java equals 與 Objects.equals 區別


已知有兩個字符串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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM