diff --git a/CHANGELOG.md b/CHANGELOG.md
index c66f19075..082180215 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,12 +2,14 @@
# 🚀Changelog
-------------------------------------------------------------------------------------------------------------
-# 5.8.17.M1 (2023-03-29)
+# 5.8.17.M1 (2023-03-30)
### 🐣新特性
* 【core 】 SerializeUtil.deserialize增加白名单类,避免RCE vulnerability(issue#3021@Github)
* 【poi 】 ExcelWriter在关闭后不清空currentRow,以便复用(issue#3025@Github)
* 【core 】 完善HttpStatus,参考相关规范,补全缺失的状态码(pr#968@Gitee)
+* 【core 】 NumberUtil增加(pr#968@Gitee)
+* 【core 】 Number128增加hash和equals方法(pr#968@Gitee)
### 🐞Bug修复
* 【core 】 CollUtil.split优化切割列表参数判断,避免OOM(pr#3026@Github)
diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/hash/Number128.java b/hutool-core/src/main/java/cn/hutool/core/lang/hash/Number128.java
index 12e0a8c35..dc2ff5e06 100644
--- a/hutool-core/src/main/java/cn/hutool/core/lang/hash/Number128.java
+++ b/hutool-core/src/main/java/cn/hutool/core/lang/hash/Number128.java
@@ -1,5 +1,7 @@
package cn.hutool.core.lang.hash;
+import java.util.Objects;
+
/**
* 128位数字表示,分高位和低位
*
@@ -87,4 +89,19 @@ public class Number128 extends Number {
public double doubleValue() {
return longValue();
}
+
+ @Override
+ public boolean equals(final Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ final Number128 number128 = (Number128) o;
+ return lowValue == number128.lowValue && highValue == number128.highValue;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(lowValue, highValue);
+ }
}
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java
index ad8e853eb..ee24c1122 100755
--- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java
@@ -13,6 +13,7 @@ import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Collection;
import java.util.HashSet;
+import java.util.Objects;
import java.util.Set;
/**
@@ -113,6 +114,12 @@ public class NumberUtil {
* 提供精确的加法运算
* 如果传入多个值为null或者空,则返回0
*
+ *
+ * 需要注意的是,在不同Locale下,数字的表示形式也是不同的,例如:
+ * 德国、荷兰、比利时、丹麦、意大利、罗马尼亚和欧洲大多地区使用`,`区分小数
+ * 也就是说,在这些国家地区,1.20表示120,而非1.2。
+ *
+ * 需要注意的是,在不同Locale下,数字的表示形式也是不同的,例如:
+ * 德国、荷兰、比利时、丹麦、意大利、罗马尼亚和欧洲大多地区使用`,`区分小数
+ * 也就是说,在这些国家地区,1.20表示120,而非1.2。
+ *
+ * 需要注意的是,在不同Locale下,数字的表示形式也是不同的,例如:
+ * 德国、荷兰、比利时、丹麦、意大利、罗马尼亚和欧洲大多地区使用`,`区分小数
+ * 也就是说,在这些国家地区,1.20表示120,而非1.2。
+ *