Improve InstanceIdentifierBuilderImpl.equals() 83/104983/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 22 Mar 2023 10:31:57 +0000 (11:31 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 22 Mar 2023 10:31:57 +0000 (11:31 +0100)
Use an instanceof pattern and perform direct comparison on hashcodes.

Change-Id: I345e68b9c29fe32ee68d12808f02446c4636388e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifierBuilderImpl.java

index c097fdcc422dcc590ac52b845e01a9e27ee79dd2..148deac81bee03b6044258fbcccad0e2c5623aa4 100644 (file)
@@ -62,17 +62,9 @@ final class InstanceIdentifierBuilderImpl<T extends DataObject> implements Insta
 
     @Override
     public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj instanceof InstanceIdentifierBuilderImpl) {
-            @SuppressWarnings("unchecked")
-            final InstanceIdentifierBuilderImpl<T> otherBuilder = (InstanceIdentifierBuilderImpl<T>) obj;
-            return wildcard == otherBuilder.wildcard && Objects.equals(basePath, otherBuilder.basePath)
-                    && Objects.equals(arg, otherBuilder.arg)
-                    && Objects.equals(hashBuilder.build(), otherBuilder.hashBuilder.build());
-        }
-        return false;
+        return this == obj || obj instanceof InstanceIdentifierBuilderImpl<?> other
+            && wildcard == other.wildcard && Objects.equals(basePath, other.basePath) && Objects.equals(arg, other.arg)
+            && hashBuilder.build() == other.hashBuilder.build();
     }
 
     @Override