diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListBoolean.java b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListBoolean.java index 6e99a75a..c262ce41 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListBoolean.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListBoolean.java @@ -274,6 +274,19 @@ public class ArrayListBoolean implements List { return ArrayUtils.toList(array).subList(fromIndex, toIndex); } + @Override + public boolean equals(Object o) { + if (!(o instanceof List l)) { + return false; + } + return l.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { var builder = new StringBuilder(); diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListByte.java b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListByte.java index 0711560c..b4905d2f 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListByte.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListByte.java @@ -274,6 +274,19 @@ public class ArrayListByte implements List { return ArrayUtils.toList(array).subList(fromIndex, toIndex); } + @Override + public boolean equals(Object o) { + if (!(o instanceof List l)) { + return false; + } + return l.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { var builder = new StringBuilder(); diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListDouble.java b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListDouble.java index befa2a58..b9b213ac 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListDouble.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListDouble.java @@ -274,6 +274,19 @@ public class ArrayListDouble implements List { return ArrayUtils.toList(array).subList(fromIndex, toIndex); } + @Override + public boolean equals(Object o) { + if (!(o instanceof List l)) { + return false; + } + return l.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { var builder = new StringBuilder(); diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListFloat.java b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListFloat.java index 1974366c..ae814a6a 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListFloat.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListFloat.java @@ -274,6 +274,19 @@ public class ArrayListFloat implements List { return ArrayUtils.toList(array).subList(fromIndex, toIndex); } + @Override + public boolean equals(Object o) { + if (!(o instanceof List l)) { + return false; + } + return l.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { var builder = new StringBuilder(); diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListInt.java b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListInt.java index 8ebff62d..b3b3ad29 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListInt.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListInt.java @@ -274,6 +274,19 @@ public class ArrayListInt implements List { return ArrayUtils.toList(array).subList(fromIndex, toIndex); } + @Override + public boolean equals(Object o) { + if (!(o instanceof List l)) { + return false; + } + return l.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { var builder = new StringBuilder(); diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListLong.java b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListLong.java index b9a09d85..7d28dddd 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListLong.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListLong.java @@ -274,6 +274,19 @@ public class ArrayListLong implements List { return ArrayUtils.toList(array).subList(fromIndex, toIndex); } + @Override + public boolean equals(Object o) { + if (!(o instanceof List l)) { + return false; + } + return l.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { var builder = new StringBuilder(); diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListShort.java b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListShort.java index 36c58463..c8dd2a95 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListShort.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/ArrayListShort.java @@ -274,6 +274,19 @@ public class ArrayListShort implements List { return ArrayUtils.toList(array).subList(fromIndex, toIndex); } + @Override + public boolean equals(Object o) { + if (!(o instanceof List l)) { + return false; + } + return l.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { var builder = new StringBuilder(); diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntInt.java b/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntInt.java index d57e08a6..c8a5d7ef 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntInt.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntInt.java @@ -404,6 +404,19 @@ public class HashMapIntInt implements Map { } } + @Override + public boolean equals(Object o) { + if (!(o instanceof Map m)) { + return false; + } + return m.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { if (isEmpty()) { diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntLong.java b/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntLong.java index ede198d7..ee763dbd 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntLong.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntLong.java @@ -387,6 +387,19 @@ public class HashMapIntLong implements Map { } } + @Override + public boolean equals(Object o) { + if (!(o instanceof Map m)) { + return false; + } + return m.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { if (isEmpty()) { diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntShort.java b/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntShort.java index 01a39ab9..6884ee9d 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntShort.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/HashMapIntShort.java @@ -395,6 +395,18 @@ public class HashMapIntShort implements Map { } } + @Override + public boolean equals(Object o) { + if (!(o instanceof Map m)) { + return false; + } + return m.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } @Override public String toString() { if (isEmpty()) { diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/HashMapLongInt.java b/protocol/src/main/java/com/zfoo/protocol/collection/HashMapLongInt.java index 2ba731b3..0f109097 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/HashMapLongInt.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/HashMapLongInt.java @@ -386,6 +386,19 @@ public class HashMapLongInt implements Map { } } + @Override + public boolean equals(Object o) { + if (!(o instanceof Map m)) { + return false; + } + return m.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { if (isEmpty()) { diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/HashMapLongLong.java b/protocol/src/main/java/com/zfoo/protocol/collection/HashMapLongLong.java index eed4c9e5..0feef2b8 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/HashMapLongLong.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/HashMapLongLong.java @@ -386,6 +386,19 @@ public class HashMapLongLong implements Map { } } + @Override + public boolean equals(Object o) { + if (!(o instanceof Map m)) { + return false; + } + return m.equals(this); + } + + @Override + public int hashCode() { + return super.hashCode(); + } + @Override public String toString() { if (isEmpty()) { diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/HashSetByte.java b/protocol/src/main/java/com/zfoo/protocol/collection/HashSetByte.java index d18d2e02..61f8bbbf 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/HashSetByte.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/HashSetByte.java @@ -16,7 +16,7 @@ import io.netty.util.collection.ByteObjectHashMap; import java.util.AbstractSet; import java.util.Iterator; -import java.util.Objects; +import java.util.Set; /** * @author godotg @@ -74,18 +74,14 @@ public class HashSetByte extends AbstractSet { @Override public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { + if (!(o instanceof Set s)) { return false; } - var obj = (HashSetByte) o; - return Objects.equals(map, obj.map); + return s.equals(this); } @Override public int hashCode() { - return Objects.hashCode(map); + return map.hashCode(); } } diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/HashSetInt.java b/protocol/src/main/java/com/zfoo/protocol/collection/HashSetInt.java index dd2cf97b..0e50ecea 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/HashSetInt.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/HashSetInt.java @@ -16,7 +16,7 @@ import io.netty.util.collection.IntObjectHashMap; import java.util.AbstractSet; import java.util.Iterator; -import java.util.Objects; +import java.util.Set; /** * @author godotg @@ -74,18 +74,14 @@ public class HashSetInt extends AbstractSet { @Override public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { + if (!(o instanceof Set s)) { return false; } - var obj = (HashSetInt) o; - return Objects.equals(map, obj.map); + return s.equals(this); } @Override public int hashCode() { - return Objects.hashCode(map); + return map.hashCode(); } } diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/HashSetLong.java b/protocol/src/main/java/com/zfoo/protocol/collection/HashSetLong.java index ad4c84bd..03572239 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/HashSetLong.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/HashSetLong.java @@ -16,7 +16,7 @@ import io.netty.util.collection.LongObjectHashMap; import java.util.AbstractSet; import java.util.Iterator; -import java.util.Objects; +import java.util.Set; /** * @author godotg @@ -78,18 +78,14 @@ public class HashSetLong extends AbstractSet { @Override public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { + if (!(o instanceof Set s)) { return false; } - var obj = (HashSetLong) o; - return Objects.equals(map, obj.map); + return s.equals(this); } @Override public int hashCode() { - return Objects.hashCode(map); + return map.hashCode(); } } diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/HashSetShort.java b/protocol/src/main/java/com/zfoo/protocol/collection/HashSetShort.java index b5248182..afdcbbe4 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/HashSetShort.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/HashSetShort.java @@ -16,7 +16,7 @@ import io.netty.util.collection.ShortObjectHashMap; import java.util.AbstractSet; import java.util.Iterator; -import java.util.Objects; +import java.util.Set; /** * @author godotg @@ -74,18 +74,14 @@ public class HashSetShort extends AbstractSet { @Override public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { + if (!(o instanceof Set s)) { return false; } - var obj = (HashSetShort) o; - return Objects.equals(map, obj.map); + return s.equals(this); } @Override public int hashCode() { - return Objects.hashCode(map); + return map.hashCode(); } } diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/concurrent/ConcurrentArrayList.java b/protocol/src/main/java/com/zfoo/protocol/collection/concurrent/ConcurrentArrayList.java index d35bb1fd..4552a135 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/concurrent/ConcurrentArrayList.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/concurrent/ConcurrentArrayList.java @@ -270,12 +270,10 @@ public class ConcurrentArrayList implements List { @Override public boolean equals(Object o) { - lock.lock(); - try { - return list.equals(o); - } finally { - lock.unlock(); + if (!(o instanceof List l)) { + return false; } + return l.equals(this); } @Override