diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/lang/mutable/MutableDouble.java b/hutool-core/src/main/java/org/dromara/hutool/core/lang/mutable/MutableDouble.java index 4657d7777..05de10eb6 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/lang/mutable/MutableDouble.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/lang/mutable/MutableDouble.java @@ -179,8 +179,7 @@ public class MutableDouble extends Number implements Comparable, @Override public int hashCode() { - final long bits = Double.doubleToLongBits(value); - return (int) (bits ^ bits >>> 32); + return Double.hashCode(value); } // ----------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/lang/mutable/MutableLong.java b/hutool-core/src/main/java/org/dromara/hutool/core/lang/mutable/MutableLong.java index 761c593e0..d1d7478d8 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/lang/mutable/MutableLong.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/lang/mutable/MutableLong.java @@ -192,7 +192,7 @@ public class MutableLong extends Number implements Comparable, Muta @Override public int hashCode() { - return (int) (value ^ (value >>> 32)); + return Long.hashCode(value); } // ----------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/math/Money.java b/hutool-core/src/main/java/org/dromara/hutool/core/math/Money.java index 6f6d7c8d8..e73df79f7 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/math/Money.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/math/Money.java @@ -380,7 +380,7 @@ public class Money implements Serializable, Comparable { */ @Override public int hashCode() { - return (int) (cent ^ (cent >>> 32)); + return Long.hashCode(cent); } /** diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/lang/SingletonTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/lang/SingletonTest.java index bdbb92410..97979f046 100644 --- a/hutool-core/src/test/java/org/dromara/hutool/core/lang/SingletonTest.java +++ b/hutool-core/src/test/java/org/dromara/hutool/core/lang/SingletonTest.java @@ -74,7 +74,7 @@ public class SingletonTest { @Disabled void issue3435Test() { final String key = "123"; - final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10, 10, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue()); + final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10, 10, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>()); for (int i = 0; i < 100; i++) { threadPoolExecutor.execute(() -> { Singleton.get(key, () -> {