diff --git a/CHANGELOG.md b/CHANGELOG.md index c67899b1c..b4981072e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ * 【core 】 NumberUtil.toStr修改逻辑,去掉BigDecimal的科学计数表示(pr#196@Gitee) * 【core 】 ListUtil.page第一页页码使用PageUtil(pr#198@Gitee) * 【http 】 增加微信、企业微信ua识别(pr#1179@Github) +* 【core 】 ObjectUtil增加defaultIfXXX(pr#199@Gitee) ### Bug修复 * 【core 】 修复ChineseDate没有忽略时分秒导致计算错误问题(issue#I1YW12@Gitee) @@ -17,6 +18,7 @@ * 【core 】 修复BeanDesc读取父类属性覆盖子类属性导致的问题(pr#1175@Github) * 【aop 】 修复SimpleAspect一个重载导致的问题,去掉重载的after方法(issue#I1YUG9@Gitee) * 【poi 】 修复03 sax读取日期问题(issue#I1Z83N@Gitee) +* 【core 】 修复FileUtil.size软链导致的问题(pr#200@Gitee) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java index 0f6d7063b..48442bb4f 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java @@ -511,7 +511,7 @@ public class FileUtil extends PathUtil { * @return 总大小,bytes长度 */ public static long size(File file) { - if (null == file || false == file.exists() || FileUtil.isSymlink(file)) { + if (null == file || false == file.exists() || isSymlink(file)) { return 0; } diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/PatternPool.java b/hutool-core/src/main/java/cn/hutool/core/lang/PatternPool.java index 3e4c2fef5..8a0acb008 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/PatternPool.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/PatternPool.java @@ -5,7 +5,7 @@ import cn.hutool.core.util.ReUtil; import java.util.regex.Pattern; /** - * 常用正则表达式集合 + * 常用正则表达式集合,更多正则见:https://any86.github.io/any-rule/ * * @author Looly */ diff --git a/hutool-core/src/main/java/cn/hutool/core/util/ObjectUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ObjectUtil.java index 8d476d737..8ae304433 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/ObjectUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/ObjectUtil.java @@ -62,8 +62,8 @@ public class ObjectUtil { * @see Objects#equals(Object, Object) */ public static boolean equal(Object obj1, Object obj2) { - if(obj1 instanceof BigDecimal && obj2 instanceof BigDecimal){ - return NumberUtil.equals((BigDecimal)obj1, (BigDecimal)obj2); + if (obj1 instanceof BigDecimal && obj2 instanceof BigDecimal) { + return NumberUtil.equals((BigDecimal) obj1, (BigDecimal) obj2); } return Objects.equals(obj1, obj2); } @@ -305,13 +305,15 @@ public class ObjectUtil { /** * 如果给定对象为{@code null} 返回默认值, 如果不为null 返回自定义handle处理后的返回值 - * @param source Object 类型对象 - * @param handle 自定义的处理方法 + * + * @param source Object 类型对象 + * @param handle 自定义的处理方法 * @param defaultValue 默认为空的返回值 - * @param 被检查对象为{@code null}返回默认值,否则返回自定义handle处理后的返回值 - * @return + * @param 被检查对象为{@code null}返回默认值,否则返回自定义handle处理后的返回值 + * @return 处理后的返回值 + * @since 5.4.6 */ - public static T defaultIfNull(final Object source, Supplier handle, final T defaultValue) { + public static T defaultIfNull(Object source, Supplier handle, final T defaultValue) { if (Objects.nonNull(source)) { return handle.get(); } @@ -320,13 +322,15 @@ public class ObjectUtil { /** * 如果给定对象为{@code null}或者""返回默认值, 否则返回自定义handle处理后的返回值 - * @param str String 类型 - * @param handle 自定义的处理方法 + * + * @param str String 类型 + * @param handle 自定义的处理方法 * @param defaultValue 默认为空的返回值 - * @param 被检查对象为{@code null}或者 ""返回默认值,否则返回自定义handle处理后的返回值 - * @return + * @param 被检查对象为{@code null}或者 ""返回默认值,否则返回自定义handle处理后的返回值 + * @return 处理后的返回值 + * @since 5.4.6 */ - public static T defaultIfEmpty(final String str, Supplier handle, final T defaultValue) { + public static T defaultIfEmpty(String str, Supplier handle, final T defaultValue) { if (StrUtil.isNotEmpty(str)) { return handle.get(); }