4848import java .util .Iterator ;
4949import java .util .Map ;
5050import java .util .NoSuchElementException ;
51+ import java .util .Objects ;
5152import java .util .Set ;
5253import java .util .Spliterator ;
5354import java .util .concurrent .atomic .AtomicReference ;
@@ -665,8 +666,8 @@ public final boolean equals(Object o) {
665666 return ((o instanceof Map .Entry ) &&
666667 (k = (e = (Map .Entry <?,?>)o ).getKey ()) != null &&
667668 (v = e .getValue ()) != null &&
668- (k == key || k .equals (key )) &&
669- ( v == ( u = val ) || v .equals (u ) ));
669+ (Objects .equals (k , key )) &&
670+ v .equals (val ));
670671 }
671672
672673 /**
@@ -678,7 +679,7 @@ Node<K,V> find(int h, Object k) {
678679 do {
679680 K ek ;
680681 if (e .hash == h &&
681- (( ek = e .key ) == k || ( ek != null && k .equals (ek )) ))
682+ (ek = e .key ) != null && Objects .equals (k , ek ))
682683 return e ;
683684 } while ((e = e .next ) != null );
684685 }
@@ -949,14 +950,14 @@ public V get(Object key) {
949950 if ((tab = table ) != null && (n = tab .length ) > 0 &&
950951 (e = tabAt (tab , (n - 1 ) & h )) != null ) {
951952 if ((eh = e .hash ) == h ) {
952- if ((ek = e .key ) == key || ( ek != null && key .equals (ek ) ))
953+ if ((ek = e .key ) != null && Objects .equals (key , ek ))
953954 return e .val ;
954955 }
955956 else if (eh < 0 )
956957 return (p = e .find (h , key )) != null ? p .val : null ;
957958 while ((e = e .next ) != null ) {
958959 if (e .hash == h &&
959- ((ek = e .key ) == key || ( ek != null && key .equals (ek ) )))
960+ ((ek = e .key ) != null && Objects .equals (key , ek )))
960961 return e .val ;
961962 }
962963 }
@@ -994,7 +995,7 @@ public boolean containsValue(Object value) {
994995 Traverser <K ,V > it = new Traverser <K ,V >(t , t .length , 0 , t .length );
995996 for (Node <K ,V > p ; (p = it .advance ()) != null ; ) {
996997 V v ;
997- if ((v = p .val ) == value || ( v != null && value .equals (v ) ))
998+ if ((v = p .val ) != null && Objects .equals (value , v ))
998999 return true ;
9991000 }
10001001 }
@@ -1035,7 +1036,7 @@ else if ((fh = f.hash) == MOVED)
10351036 tab = helpTransfer (tab , f );
10361037 else if (onlyIfAbsent // check first node without acquiring lock
10371038 && fh == hash
1038- && (( fk = f .key ) == key || ( fk != null && key .equals (fk )) )
1039+ && (fk = f .key ) != null && Objects .equals (key , fk )
10391040 && (fv = f .val ) != null )
10401041 return fv ;
10411042 else {
@@ -1047,8 +1048,7 @@ else if (onlyIfAbsent // check first node without acquiring lock
10471048 for (Node <K ,V > e = f ;; ++binCount ) {
10481049 K ek ;
10491050 if (e .hash == hash &&
1050- ((ek = e .key ) == key ||
1051- (ek != null && key .equals (ek )))) {
1051+ (ek = e .key ) != null && Objects .equals (key , ek )) {
10521052 oldVal = e .val ;
10531053 if (!onlyIfAbsent )
10541054 e .val = value ;
@@ -1140,11 +1140,10 @@ else if ((fh = f.hash) == MOVED)
11401140 for (Node <K ,V > e = f , pred = null ;;) {
11411141 K ek ;
11421142 if (e .hash == hash &&
1143- ((ek = e .key ) == key ||
1144- (ek != null && key .equals (ek )))) {
1143+ ((ek = e .key ) != null && Objects .equals (key , ek ))) {
11451144 V ev = e .val ;
1146- if (cv == null || cv == ev ||
1147- (ev != null && cv .equals (ev ))) {
1145+ if (cv == null ||
1146+ (ev != null && Objects .equals (cv , ev ))) {
11481147 oldVal = ev ;
11491148 if (value != null )
11501149 e .val = value ;
@@ -1167,8 +1166,8 @@ else if (f instanceof TreeBin) {
11671166 if ((r = t .root ) != null &&
11681167 (p = r .findTreeNode (hash , key , null )) != null ) {
11691168 V pv = p .val ;
1170- if (cv == null || cv == pv ||
1171- (pv != null && cv .equals (pv ))) {
1169+ if (cv == null ||
1170+ (pv != null && Objects .equals (cv , pv ))) {
11721171 oldVal = pv ;
11731172 if (value != null )
11741173 p .val = value ;
@@ -1372,15 +1371,15 @@ public boolean equals(Object o) {
13721371 for (Node <K ,V > p ; (p = it .advance ()) != null ; ) {
13731372 V val = p .val ;
13741373 Object v = m .get (p .key );
1375- if (v == null || ( v != val && ! v .equals (val ) ))
1374+ if (! Objects .equals (val , v ))
13761375 return false ;
13771376 }
13781377 for (Map .Entry <?,?> e : m .entrySet ()) {
13791378 Object mk , mv , v ;
13801379 if ((mk = e .getKey ()) == null ||
13811380 (mv = e .getValue ()) == null ||
13821381 (v = get (mk )) == null ||
1383- ( mv != v && ! mv .equals (v ) ))
1382+ ! Objects .equals (mv , v ))
13841383 return false ;
13851384 }
13861385 }
@@ -1504,8 +1503,7 @@ private void readObject(java.io.ObjectInputStream s)
15041503 Node <K ,V > q ; K qk ;
15051504 for (q = first ; q != null ; q = q .next ) {
15061505 if (q .hash == h &&
1507- ((qk = q .key ) == k ||
1508- (qk != null && k .equals (qk )))) {
1506+ ((qk = q .key ) != null && Objects .equals (k , qk ))) {
15091507 insertAtFront = false ;
15101508 break ;
15111509 }
@@ -1734,7 +1732,7 @@ else if ((f = tabAt(tab, i = (n - 1) & h)) == null) {
17341732 else if ((fh = f .hash ) == MOVED )
17351733 tab = helpTransfer (tab , f );
17361734 else if (fh == h // check first node without acquiring lock
1737- && ((fk = f .key ) == key || ( fk != null && key .equals (fk ) ))
1735+ && ((fk = f .key ) != null && Objects .equals (key , fk ))
17381736 && (fv = f .val ) != null )
17391737 return fv ;
17401738 else {
@@ -1839,8 +1837,7 @@ else if ((fh = f.hash) == MOVED)
18391837 for (Node <K ,V > e = f , pred = null ;; ++binCount ) {
18401838 K ek ;
18411839 if (e .hash == h &&
1842- ((ek = e .key ) == key ||
1843- (ek != null && key .equals (ek )))) {
1840+ ((ek = e .key ) != null && Objects .equals (key , ek ))) {
18441841 val = remappingFunction .apply (key , e .val );
18451842 if (val != null )
18461843 e .val = val ;
@@ -1951,8 +1948,7 @@ else if ((fh = f.hash) == MOVED)
19511948 for (Node <K ,V > e = f , pred = null ;; ++binCount ) {
19521949 K ek ;
19531950 if (e .hash == h &&
1954- ((ek = e .key ) == key ||
1955- (ek != null && key .equals (ek )))) {
1951+ ((ek = e .key ) != null && Objects .equals (key , ek ))) {
19561952 val = remappingFunction .apply (key , e .val );
19571953 if (val != null )
19581954 e .val = val ;
@@ -2067,8 +2063,7 @@ else if ((fh = f.hash) == MOVED)
20672063 for (Node <K ,V > e = f , pred = null ;; ++binCount ) {
20682064 K ek ;
20692065 if (e .hash == h &&
2070- ((ek = e .key ) == key ||
2071- (ek != null && key .equals (ek )))) {
2066+ ((ek = e .key ) != null && Objects .equals (key , ek ))) {
20722067 val = remappingFunction .apply (e .val , value );
20732068 if (val != null )
20742069 e .val = val ;
@@ -2261,7 +2256,7 @@ Node<K,V> find(int h, Object k) {
22612256 for (;;) {
22622257 int eh ; K ek ;
22632258 if ((eh = e .hash ) == h &&
2264- ((ek = e .key ) == k || ( ek != null && k .equals (ek ) )))
2259+ ((ek = e .key ) != null && Objects .equals (k , ek )))
22652260 return e ;
22662261 if (eh < 0 ) {
22672262 if (e instanceof ForwardingNode ) {
@@ -2756,7 +2751,7 @@ final TreeNode<K,V> findTreeNode(int h, Object k, Class<?> kc) {
27562751 p = pl ;
27572752 else if (ph < h )
27582753 p = pr ;
2759- else if ((pk = p .key ) == k || ( pk != null && k .equals (pk ) ))
2754+ else if ((pk = p .key ) != null && Objects .equals (k , pk ))
27602755 return p ;
27612756 else if (pl == null )
27622757 p = pr ;
@@ -2907,7 +2902,7 @@ final Node<K,V> find(int h, Object k) {
29072902 int s ; K ek ;
29082903 if (((s = lockState ) & (WAITER |WRITER )) != 0 ) {
29092904 if (e .hash == h &&
2910- ((ek = e .key ) == k || ( ek != null && k .equals (ek ) )))
2905+ ((ek = e .key ) != null && Objects .equals (k , ek )))
29112906 return e ;
29122907 e = e .next ;
29132908 }
@@ -2947,7 +2942,7 @@ else if ((ph = p.hash) > h)
29472942 dir = -1 ;
29482943 else if (ph < h )
29492944 dir = 1 ;
2950- else if ((pk = p .key ) == k || ( pk != null && k .equals (pk ) ))
2945+ else if ((pk = p .key ) != null && Objects .equals (k , pk ))
29512946 return p ;
29522947 else if ((kc == null &&
29532948 (kc = comparableClassFor (k )) == null ) ||
@@ -3546,8 +3541,8 @@ public boolean equals(Object o) {
35463541 return ((o instanceof Map .Entry ) &&
35473542 (k = (e = (Map .Entry <?,?>)o ).getKey ()) != null &&
35483543 (v = e .getValue ()) != null &&
3549- ( k == key || k . equals ( key ) ) &&
3550- ( v == val || v . equals ( val ) ));
3544+ Objects . equals ( k , key ) &&
3545+ Objects . equals ( v , val ));
35513546 }
35523547
35533548 /**
0 commit comments