From 669a7a0b96d6bf630febadbecacd1708b9be937f Mon Sep 17 00:00:00 2001 From: handy Date: Mon, 22 Apr 2024 17:31:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=B7=B1=E5=AE=9E=E7=8E=B0=E7=9A=84ha?= =?UTF-8?q?shCode=E6=9B=BF=E6=8D=A2=E4=B8=BA=E6=A0=87=E5=87=86hashCode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/hutool/core/lang/mutable/MutableDouble.java | 3 +-- .../java/org/dromara/hutool/core/lang/mutable/MutableLong.java | 2 +- .../src/main/java/org/dromara/hutool/core/math/Money.java | 2 +- .../test/java/org/dromara/hutool/core/lang/SingletonTest.java | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) 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, () -> {