diff --git a/CHANGELOG.md b/CHANGELOG.md index 9556572a6..b5e418b50 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,11 @@ # 🚀Changelog ------------------------------------------------------------------------------------------------------------- -# 5.8.22(2023-07-29) +# 5.8.22(2023-08-02) ### 🐣新特性 +* 【core 】 NumberUtil.nullToZero增加重载(issue#I7PPD2@Github) + ### 🐞Bug修复 ------------------------------------------------------------------------------------------------------------- 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 d5ec89798..59bf9427d 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 @@ -2307,9 +2307,10 @@ public class NumberUtil { * @param decimal {@link BigDecimal},可以为{@code null} * @return {@link BigDecimal}参数为空时返回0的值 * @since 3.0.9 + * @deprecated 请使用 {@link #nullToZero(BigDecimal)} */ + @Deprecated public static BigDecimal null2Zero(BigDecimal decimal) { - return decimal == null ? BigDecimal.ZERO : decimal; } @@ -2324,6 +2325,86 @@ public class NumberUtil { return 0 == value ? 1 : value; } + /** + * 如果给定值为0,返回1,否则返回原值 + * + * @param number 值 + * @return 1或非0值 + */ + public static int nullToZero(Integer number) { + return number == null ? 0 : number; + } + + /** + * 如果给定值为0,返回1,否则返回原值 + * + * @param number 值 + * @return 1或非0值 + */ + public static long nullToZero(Long number) { + return number == null ? 0L : number; + } + + /** + * 如果给定值为0,返回1,否则返回原值 + * + * @param number 值 + * @return 1或非0值 + */ + public static double nullToZero(Double number) { + return number == null ? 0.0 : number; + } + + /** + * 如果给定值为0,返回1,否则返回原值 + * + * @param number 值 + * @return 1或非0值 + */ + public static float nullToZero(Float number) { + return number == null ? 0.0f : number; + } + + /** + * 如果给定值为0,返回1,否则返回原值 + * + * @param number 值 + * @return 1或非0值 + */ + public static short nullToZero(Short number) { + return number == null ? (short) 0 : number; + } + + /** + * 如果给定值为0,返回1,否则返回原值 + * + * @param number 值 + * @return 1或非0值 + */ + public static byte nullToZero(Byte number) { + return number == null ? (byte) 0 : number; + } + + /** + * 如果给定值为0,返回1,否则返回原值 + * + * @param number 值 + * @return 1或非0值 + */ + public static BigDecimal nullToZero(BigDecimal number) { + return number == null ? BigDecimal.ZERO : number; + } + + /** + * 如果给定值为0,返回1,否则返回原值 + * + * @param number 值 + * @return 1或非0值 + */ + public static BigInteger nullToZero(BigInteger number) { + return number == null ? BigInteger.ZERO : number; + } + /** * 创建{@link BigInteger},支持16进制、10进制和8进制,如果传入空白串返回null
* from Apache Common Lang