From 1c7284661c68ae7c081fcb0bc71e7e3c3facd527 Mon Sep 17 00:00:00 2001 From: cal101 Date: Sun, 14 Mar 2021 23:25:27 +0000 Subject: [PATCH 01/22] [cleanup] erefactor/EclipseJdt - Convert 'for' loops to enhanced EclipseJdt cleanup 'ConvertForLoopToEnhanced' applied by erefactor. For EclipseJdt see https://www.eclipse.org/eclipse/news/4.18/jdt.php For erefactor see https://github.com/cal101/erefactor --- hutool-core/src/main/java/cn/hutool/core/math/Money.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/math/Money.java b/hutool-core/src/main/java/cn/hutool/core/math/Money.java index d566d0ae4..5d771ebf5 100644 --- a/hutool-core/src/main/java/cn/hutool/core/math/Money.java +++ b/hutool-core/src/main/java/cn/hutool/core/math/Money.java @@ -753,8 +753,8 @@ public class Money implements Serializable, Comparable { long total = 0; - for (int i = 0; i < ratios.length; i++) { - total += ratios[i]; + for (long element : ratios) { + total += element; } long remainder = cent; From f02c79bbbc8bccb2d2519bbea339f8c4805e9054 Mon Sep 17 00:00:00 2001 From: cal101 Date: Sun, 14 Mar 2021 23:51:07 +0000 Subject: [PATCH 02/22] [cleanup] erefactor/EclipseJdt - Remove unused imports EclipseJdt cleanup 'RemoveUnusedImport' applied by erefactor. For EclipseJdt see https://www.eclipse.org/eclipse/news/4.18/jdt.php For erefactor see https://github.com/cal101/erefactor --- .../src/test/java/cn/hutool/core/io/FileTypeUtilTest.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hutool-core/src/test/java/cn/hutool/core/io/FileTypeUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/io/FileTypeUtilTest.java index 148f2950a..b4c85a1aa 100644 --- a/hutool-core/src/test/java/cn/hutool/core/io/FileTypeUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/io/FileTypeUtilTest.java @@ -6,10 +6,6 @@ import org.junit.Ignore; import org.junit.Test; import java.io.File; -import java.io.InputStream; -import java.lang.reflect.Field; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; /** * 文件类型判断单元测试 From 6d3c0e7a192fb3ca0d1461fa7910bc0ffc307d4a Mon Sep 17 00:00:00 2001 From: cal101 Date: Mon, 15 Mar 2021 00:03:33 +0000 Subject: [PATCH 03/22] [cleanup] erefactor/EclipseJdt - Remove trailing whitespace - All lines EclipseJdt cleanup 'RemoveAllTrailingWhitespace' applied by erefactor. For EclipseJdt see https://www.eclipse.org/eclipse/news/4.18/jdt.php For erefactor see https://github.com/cal101/erefactor --- .../hutool/core/collection/package-info.java | 2 +- .../core/comparator/ComparableComparator.java | 4 ++-- .../core/comparator/ComparatorException.java | 8 ++++---- .../core/comparator/FieldComparator.java | 4 ++-- .../core/comparator/PinyinComparator.java | 2 +- .../core/comparator/PropertyComparator.java | 10 +++++----- .../core/comparator/ReverseComparator.java | 2 +- .../core/comparator/VersionComparator.java | 4 ++-- .../hutool/core/comparator/package-info.java | 2 +- .../hutool/core/convert/AbstractConverter.java | 18 +++++++++--------- .../java/cn/hutool/core/convert/BasicType.java | 8 ++++---- .../hutool/core/convert/ConvertException.java | 8 ++++---- .../java/cn/hutool/core/convert/Converter.java | 4 ++-- .../convert/impl/AtomicBooleanConverter.java | 2 +- .../impl/AtomicIntegerArrayConverter.java | 2 +- .../convert/impl/AtomicLongArrayConverter.java | 2 +- .../convert/impl/AtomicReferenceConverter.java | 8 ++++---- .../core/convert/impl/BeanConverter.java | 12 ++++++------ .../core/convert/impl/CalendarConverter.java | 6 +++--- .../core/convert/impl/CastConverter.java | 2 +- 20 files changed, 55 insertions(+), 55 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/package-info.java b/hutool-core/src/main/java/cn/hutool/core/collection/package-info.java index af42bd074..bf8e23420 100644 --- a/hutool-core/src/main/java/cn/hutool/core/collection/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/collection/package-info.java @@ -1,6 +1,6 @@ /** * 集合以及Iterator封装,包括集合工具CollUtil,Iterator和Iterable工具IterUtil - * + * * @author looly * */ diff --git a/hutool-core/src/main/java/cn/hutool/core/comparator/ComparableComparator.java b/hutool-core/src/main/java/cn/hutool/core/comparator/ComparableComparator.java index 7b6b58754..a53187890 100644 --- a/hutool-core/src/main/java/cn/hutool/core/comparator/ComparableComparator.java +++ b/hutool-core/src/main/java/cn/hutool/core/comparator/ComparableComparator.java @@ -5,7 +5,7 @@ import java.util.Comparator; /** * 针对 {@link Comparable}对象的默认比较器 - * + * * @param 比较对象类型 * @author Looly * @since 3.0.7 @@ -25,7 +25,7 @@ public class ComparableComparator> implements Co /** * 比较两个{@link Comparable}对象 - * + * *
 	 * obj1.compareTo(obj2)
 	 * 
diff --git a/hutool-core/src/main/java/cn/hutool/core/comparator/ComparatorException.java b/hutool-core/src/main/java/cn/hutool/core/comparator/ComparatorException.java index 9cdf6e143..a21670f59 100644 --- a/hutool-core/src/main/java/cn/hutool/core/comparator/ComparatorException.java +++ b/hutool-core/src/main/java/cn/hutool/core/comparator/ComparatorException.java @@ -13,19 +13,19 @@ public class ComparatorException extends RuntimeException{ public ComparatorException(Throwable e) { super(ExceptionUtil.getMessage(e), e); } - + public ComparatorException(String message) { super(message); } - + public ComparatorException(String messageTemplate, Object... params) { super(StrUtil.format(messageTemplate, params)); } - + public ComparatorException(String message, Throwable throwable) { super(message, throwable); } - + public ComparatorException(Throwable throwable, String messageTemplate, Object... params) { super(StrUtil.format(messageTemplate, params), throwable); } diff --git a/hutool-core/src/main/java/cn/hutool/core/comparator/FieldComparator.java b/hutool-core/src/main/java/cn/hutool/core/comparator/FieldComparator.java index 761daa654..b16bb910d 100644 --- a/hutool-core/src/main/java/cn/hutool/core/comparator/FieldComparator.java +++ b/hutool-core/src/main/java/cn/hutool/core/comparator/FieldComparator.java @@ -12,7 +12,7 @@ import cn.hutool.core.util.StrUtil; /** * Bean字段排序器
* 参阅feilong-core中的PropertyComparator - * + * * @author Looly * * @param 被比较的Bean @@ -24,7 +24,7 @@ public class FieldComparator implements Comparator, Serializable { /** * 构造 - * + * * @param beanClass Bean类 * @param fieldName 字段名 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/comparator/PinyinComparator.java b/hutool-core/src/main/java/cn/hutool/core/comparator/PinyinComparator.java index b756541c4..31525f46e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/comparator/PinyinComparator.java +++ b/hutool-core/src/main/java/cn/hutool/core/comparator/PinyinComparator.java @@ -7,7 +7,7 @@ import java.util.Locale; /** * 按照GBK拼音顺序对给定的汉字字符串排序 - * + * * @author looly * @since 4.0.8 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/comparator/PropertyComparator.java b/hutool-core/src/main/java/cn/hutool/core/comparator/PropertyComparator.java index cbe98993d..5df0af91c 100644 --- a/hutool-core/src/main/java/cn/hutool/core/comparator/PropertyComparator.java +++ b/hutool-core/src/main/java/cn/hutool/core/comparator/PropertyComparator.java @@ -9,20 +9,20 @@ import java.util.Comparator; /** * Bean属性排序器
* 支持读取Bean多层次下的属性 - * + * * @author Looly * * @param 被比较的Bean */ public class PropertyComparator implements Comparator, Serializable { private static final long serialVersionUID = 9157326766723846313L; - + private final String property; private final boolean isNullGreater; - + /** * 构造 - * + * * @param property 属性名 */ public PropertyComparator(String property) { @@ -31,7 +31,7 @@ public class PropertyComparator implements Comparator, Serializable { /** * 构造 - * + * * @param property 属性名 * @param isNullGreater null值是否排在后(从小到大排序) */ diff --git a/hutool-core/src/main/java/cn/hutool/core/comparator/ReverseComparator.java b/hutool-core/src/main/java/cn/hutool/core/comparator/ReverseComparator.java index d0e0df393..853544193 100644 --- a/hutool-core/src/main/java/cn/hutool/core/comparator/ReverseComparator.java +++ b/hutool-core/src/main/java/cn/hutool/core/comparator/ReverseComparator.java @@ -5,7 +5,7 @@ import java.util.Comparator; /** * 反转比较器 - * + * * @author Looly * * @param 被比较对象类型 diff --git a/hutool-core/src/main/java/cn/hutool/core/comparator/VersionComparator.java b/hutool-core/src/main/java/cn/hutool/core/comparator/VersionComparator.java index 9f65b9638..834123c44 100644 --- a/hutool-core/src/main/java/cn/hutool/core/comparator/VersionComparator.java +++ b/hutool-core/src/main/java/cn/hutool/core/comparator/VersionComparator.java @@ -14,7 +14,7 @@ import java.util.List; * 排序时版本从小到大排序,即比较时小版本在前,大版本在后
* 支持如:1.3.20.8,6.82.20160101,8.5a/8.5c等版本形式
* 参考:https://www.cnblogs.com/shihaiming/p/6286575.html - * + * * @author Looly * @since 4.0.2 */ @@ -44,7 +44,7 @@ public class VersionComparator implements Comparator, Serializable { * compare("1.13.0", "1.12.1c") > 0 * compare("V0.0.20170102", "V0.0.20170101") > 0 * - * + * * @param version1 版本1 * @param version2 版本2 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/comparator/package-info.java b/hutool-core/src/main/java/cn/hutool/core/comparator/package-info.java index aa2e61fe6..cc66cce90 100644 --- a/hutool-core/src/main/java/cn/hutool/core/comparator/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/comparator/package-info.java @@ -1,6 +1,6 @@ /** * 各种比较器(Comparator)实现和封装 - * + * * @author looly * */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/AbstractConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/AbstractConverter.java index 22849610c..c72521150 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/AbstractConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/AbstractConverter.java @@ -11,17 +11,17 @@ import java.util.Map; /** * 抽象转换器,提供通用的转换逻辑,同时通过convertInternal实现对应类型的专属逻辑
* 转换器不会抛出转换异常,转换失败时会返回{@code null} - * + * * @author Looly * */ public abstract class AbstractConverter implements Converter, Serializable { private static final long serialVersionUID = 1L; - + /** * 不抛异常转换
* 当转换失败时返回默认值 - * + * * @param value 被转换的值 * @param defaultValue 默认值 * @return 转换后的值 @@ -66,12 +66,12 @@ public abstract class AbstractConverter implements Converter, Serializable /** * 内部转换器,被 {@link AbstractConverter#convert(Object, Object)} 调用,实现基本转换逻辑
* 内部转换器转换后如果转换失败可以做如下操作,处理结果都为返回默认值: - * + * *
-	 * 1、返回{@code null} 
+	 * 1、返回{@code null}
 	 * 2、抛出一个{@link RuntimeException}异常
 	 * 
- * + * * @param value 值 * @return 转换后的类型 */ @@ -80,13 +80,13 @@ public abstract class AbstractConverter implements Converter, Serializable /** * 值转为String,用于内部转换中需要使用String中转的情况
* 转换规则为: - * + * *
 	 * 1、字符串类型将被强转
 	 * 2、数组将被转换为逗号分隔的字符串
 	 * 3、其它类型将调用默认的toString()方法
 	 * 
- * + * * @param value 值 * @return String */ @@ -107,7 +107,7 @@ public abstract class AbstractConverter implements Converter, Serializable /** * 获得此类实现类的泛型类型 - * + * * @return 此类的泛型类型,可能为{@code null} */ @SuppressWarnings("unchecked") diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/BasicType.java b/hutool-core/src/main/java/cn/hutool/core/convert/BasicType.java index c17f57d24..5c919eb7d 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/BasicType.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/BasicType.java @@ -10,12 +10,12 @@ import java.util.concurrent.ConcurrentHashMap; */ public enum BasicType { BYTE, SHORT, INT, INTEGER, LONG, DOUBLE, FLOAT, BOOLEAN, CHAR, CHARACTER, STRING; - + /** 包装类型为Key,原始类型为Value,例如: Integer.class =》 int.class. */ public static final Map, Class> WRAPPER_PRIMITIVE_MAP = new ConcurrentHashMap<>(8); /** 原始类型为Key,包装类型为Value,例如: int.class =》 Integer.class. */ public static final Map, Class> PRIMITIVE_WRAPPER_MAP = new ConcurrentHashMap<>(8); - + static { WRAPPER_PRIMITIVE_MAP.put(Boolean.class, boolean.class); WRAPPER_PRIMITIVE_MAP.put(Byte.class, byte.class); @@ -30,7 +30,7 @@ public enum BasicType { PRIMITIVE_WRAPPER_MAP.put(entry.getValue(), entry.getKey()); } } - + /** * 原始类转为包装类,非原始类返回原类 * @param clazz 原始类 @@ -43,7 +43,7 @@ public enum BasicType { Class result = PRIMITIVE_WRAPPER_MAP.get(clazz); return (null == result) ? clazz : result; } - + /** * 包装类转为原始类,非包装类返回原类 * @param clazz 包装类 diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/ConvertException.java b/hutool-core/src/main/java/cn/hutool/core/convert/ConvertException.java index 63bcbaed9..e01201446 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/ConvertException.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/ConvertException.java @@ -13,19 +13,19 @@ public class ConvertException extends RuntimeException{ public ConvertException(Throwable e) { super(ExceptionUtil.getMessage(e), e); } - + public ConvertException(String message) { super(message); } - + public ConvertException(String messageTemplate, Object... params) { super(StrUtil.format(messageTemplate, params)); } - + public ConvertException(String message, Throwable throwable) { super(message, throwable); } - + public ConvertException(Throwable throwable, String messageTemplate, Object... params) { super(StrUtil.format(messageTemplate, params), throwable); } diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/Converter.java b/hutool-core/src/main/java/cn/hutool/core/convert/Converter.java index 9b8d5c32b..ed151cb77 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/Converter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/Converter.java @@ -2,7 +2,7 @@ package cn.hutool.core.convert; /** * 转换器接口,实现类型转换 - * + * * @param 转换到的目标类型 * @author Looly */ @@ -11,7 +11,7 @@ public interface Converter { /** * 转换为指定类型
* 如果类型无法确定,将读取默认值的类型做为目标类型 - * + * * @param value 原始值 * @param defaultValue 默认值 * @return 转换后的值 diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicBooleanConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicBooleanConverter.java index d579df299..0da69704a 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicBooleanConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicBooleanConverter.java @@ -7,7 +7,7 @@ import cn.hutool.core.util.BooleanUtil; /** * {@link AtomicBoolean}转换器 - * + * * @author Looly * @since 3.0.8 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicIntegerArrayConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicIntegerArrayConverter.java index d3aec721d..047435165 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicIntegerArrayConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicIntegerArrayConverter.java @@ -7,7 +7,7 @@ import java.util.concurrent.atomic.AtomicIntegerArray; /** * {@link AtomicIntegerArray}转换器 - * + * * @author Looly * @since 5.4.5 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicLongArrayConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicLongArrayConverter.java index 9469b2746..3072075bf 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicLongArrayConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicLongArrayConverter.java @@ -7,7 +7,7 @@ import java.util.concurrent.atomic.AtomicLongArray; /** * {@link AtomicLongArray}转换器 - * + * * @author Looly * @since 5.4.5 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicReferenceConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicReferenceConverter.java index ae84b50a3..5c89f9cef 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicReferenceConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/AtomicReferenceConverter.java @@ -9,17 +9,17 @@ import cn.hutool.core.util.TypeUtil; /** * {@link AtomicReference}转换器 - * + * * @author Looly * @since 3.0.8 */ @SuppressWarnings("rawtypes") public class AtomicReferenceConverter extends AbstractConverter { private static final long serialVersionUID = 1L; - + @Override protected AtomicReference convertInternal(Object value) { - + //尝试将值转换为Reference泛型的类型 Object targetValue = null; final Type paramType = TypeUtil.getTypeArgument(AtomicReference.class); @@ -29,7 +29,7 @@ public class AtomicReferenceConverter extends AbstractConverter if(null == targetValue){ targetValue = value; } - + return new AtomicReference<>(targetValue); } diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/BeanConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/BeanConverter.java index 614c9bafe..9a7c23848 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/BeanConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/BeanConverter.java @@ -21,7 +21,7 @@ import java.util.Map; * Bean =》 Bean * ValueProvider =》 Bean * - * + * * @param Bean类型 * @author Looly * @since 4.0.2 @@ -32,10 +32,10 @@ public class BeanConverter extends AbstractConverter { private final Type beanType; private final Class beanClass; private final CopyOptions copyOptions; - + /** * 构造,默认转换选项,注入失败的字段忽略 - * + * * @param beanType 转换成的目标Bean类型 */ public BeanConverter(Type beanType) { @@ -44,16 +44,16 @@ public class BeanConverter extends AbstractConverter { /** * 构造,默认转换选项,注入失败的字段忽略 - * + * * @param beanClass 转换成的目标Bean类 */ public BeanConverter(Class beanClass) { this(beanClass, CopyOptions.create().setIgnoreError(true)); } - + /** * 构造 - * + * * @param beanType 转换成的目标Bean类 * @param copyOptions Bean转换选项参数 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/CalendarConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/CalendarConverter.java index 12082058d..e6c55e234 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/CalendarConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/CalendarConverter.java @@ -9,7 +9,7 @@ import cn.hutool.core.util.StrUtil; /** * 日期转换器 - * + * * @author Looly * */ @@ -21,7 +21,7 @@ public class CalendarConverter extends AbstractConverter { /** * 获取日期格式 - * + * * @return 设置日期格式 */ public String getFormat() { @@ -30,7 +30,7 @@ public class CalendarConverter extends AbstractConverter { /** * 设置日期格式 - * + * * @param format 日期格式 */ public void setFormat(String format) { diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/CastConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/CastConverter.java index 32418484c..7eb5fc6a5 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/CastConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/CastConverter.java @@ -5,7 +5,7 @@ import cn.hutool.core.convert.ConvertException; /** * 强转转换器 - * + * * @author Looly * @param 强制转换到的类型 * @since 4.0.2 From 5eedb7544b3330a5e71041a854d712c2af062a31 Mon Sep 17 00:00:00 2001 From: cal101 Date: Mon, 15 Mar 2021 00:03:34 +0000 Subject: [PATCH 04/22] [cleanup] erefactor/EclipseJdt - Remove trailing whitespace - All lines EclipseJdt cleanup 'RemoveAllTrailingWhitespace' applied by erefactor. For EclipseJdt see https://www.eclipse.org/eclipse/news/4.18/jdt.php For erefactor see https://github.com/cal101/erefactor --- .../core/convert/impl/CharacterConverter.java | 2 +- .../convert/impl/CollectionConverter.java | 10 +++--- .../core/convert/impl/CurrencyConverter.java | 2 +- .../core/convert/impl/DurationConverter.java | 4 +-- .../convert/impl/GenericEnumConverter.java | 6 ++-- .../core/convert/impl/LocaleConverter.java | 4 +-- .../core/convert/impl/MapConverter.java | 8 ++--- .../core/convert/impl/OptionalConverter.java | 4 +-- .../core/convert/impl/PathConverter.java | 6 ++-- .../core/convert/impl/PeriodConverter.java | 4 +-- .../core/convert/impl/ReferenceConverter.java | 12 +++---- .../impl/StackTraceElementConverter.java | 2 +- .../core/convert/impl/URIConverter.java | 2 +- .../core/convert/impl/URLConverter.java | 2 +- .../core/convert/impl/UUIDConverter.java | 2 +- .../core/convert/impl/package-info.java | 2 +- .../cn/hutool/core/convert/package-info.java | 2 +- .../java/cn/hutool/core/date/DateBetween.java | 20 +++++------ .../cn/hutool/core/date/DateException.java | 8 ++--- .../java/cn/hutool/core/date/DateField.java | 34 +++++++++---------- 20 files changed, 68 insertions(+), 68 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/CharacterConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/CharacterConverter.java index 6862a122c..85b8e0283 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/CharacterConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/CharacterConverter.java @@ -6,7 +6,7 @@ import cn.hutool.core.util.StrUtil; /** * 字符转换器 - * + * * @author Looly * */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/CollectionConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/CollectionConverter.java index f3098514e..3b78db2c3 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/CollectionConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/CollectionConverter.java @@ -10,7 +10,7 @@ import java.util.Collection; /** * 各种集合类转换器 - * + * * @author Looly * @since 3.0.8 */ @@ -31,7 +31,7 @@ public class CollectionConverter implements Converter> { // ---------------------------------------------------------------------------------------------- Constractor start /** * 构造 - * + * * @param collectionType 集合类型 */ public CollectionConverter(Type collectionType) { @@ -40,7 +40,7 @@ public class CollectionConverter implements Converter> { /** * 构造 - * + * * @param collectionType 集合类型 */ public CollectionConverter(Class collectionType) { @@ -49,7 +49,7 @@ public class CollectionConverter implements Converter> { /** * 构造 - * + * * @param collectionType 集合类型 * @param elementType 集合元素类型 */ @@ -67,7 +67,7 @@ public class CollectionConverter implements Converter> { /** * 内部转换 - * + * * @param value 值 * @return 转换后的集合对象 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/CurrencyConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/CurrencyConverter.java index 73a19e0dc..ffab3fbe3 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/CurrencyConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/CurrencyConverter.java @@ -6,7 +6,7 @@ import cn.hutool.core.convert.AbstractConverter; /** * 货币{@link Currency} 转换器 - * + * * @author Looly * @since 3.0.8 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/DurationConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/DurationConverter.java index 625886f8c..6f5753275 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/DurationConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/DurationConverter.java @@ -6,9 +6,9 @@ import java.time.Duration; import java.time.temporal.TemporalAmount; /** - * + * * {@link Duration}对象转换器 - * + * * @author Looly * @since 5.0.0 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/GenericEnumConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/GenericEnumConverter.java index 5529b01a1..e5f6250f6 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/GenericEnumConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/GenericEnumConverter.java @@ -4,7 +4,7 @@ import cn.hutool.core.convert.AbstractConverter; /** * 泛型枚举转换器 - * + * * @param 枚举类类型 * @author Looly * @since 4.0.2 @@ -15,10 +15,10 @@ public class GenericEnumConverter> extends AbstractConverter enumClass; - + /** * 构造 - * + * * @param enumClass 转换成的目标Enum类 */ public GenericEnumConverter(Class enumClass) { diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/LocaleConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/LocaleConverter.java index bdc7f2850..8f46f8d9e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/LocaleConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/LocaleConverter.java @@ -6,10 +6,10 @@ import cn.hutool.core.convert.AbstractConverter; import cn.hutool.core.util.StrUtil; /** - * + * * {@link Locale}对象转换器
* 只提供String转换支持 - * + * * @author Looly * @since 4.5.2 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/MapConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/MapConverter.java index 5110e96e7..f3dfcbd7e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/MapConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/MapConverter.java @@ -14,7 +14,7 @@ import java.util.Objects; /** * {@link Map} 转换器 - * + * * @author Looly * @since 3.0.8 */ @@ -30,7 +30,7 @@ public class MapConverter extends AbstractConverter> { /** * 构造,Map的key和value泛型类型自动获取 - * + * * @param mapType Map类型 */ public MapConverter(Type mapType) { @@ -39,7 +39,7 @@ public class MapConverter extends AbstractConverter> { /** * 构造 - * + * * @param mapType Map类型 * @param keyType 键类型 * @param valueType 值类型 @@ -77,7 +77,7 @@ public class MapConverter extends AbstractConverter> { /** * Map转Map - * + * * @param srcMap 源Map * @param targetMap 目标Map */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/OptionalConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/OptionalConverter.java index cd13fce7e..2c270ad96 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/OptionalConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/OptionalConverter.java @@ -5,9 +5,9 @@ import cn.hutool.core.convert.AbstractConverter; import java.util.Optional; /** - * + * * {@link Optional}对象转换器 - * + * * @author Looly * @since 5.0.0 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/PathConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/PathConverter.java index c11cee498..a6ab97b92 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/PathConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/PathConverter.java @@ -22,15 +22,15 @@ public class PathConverter extends AbstractConverter{ if(value instanceof URI){ return Paths.get((URI)value); } - + if(value instanceof URL){ return Paths.get(((URL)value).toURI()); } - + if(value instanceof File){ return ((File)value).toPath(); } - + return Paths.get(convertToStr(value)); } catch (Exception e) { // Ignore Exception diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/PeriodConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/PeriodConverter.java index 1cbc34411..3c77dc2a1 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/PeriodConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/PeriodConverter.java @@ -6,9 +6,9 @@ import java.time.Period; import java.time.temporal.TemporalAmount; /** - * + * * {@link Period}对象转换器 - * + * * @author Looly * @since 5.0.0 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/ReferenceConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/ReferenceConverter.java index 41e7f7e30..f7e65727d 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/ReferenceConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/ReferenceConverter.java @@ -12,16 +12,16 @@ import java.lang.reflect.Type; /** * {@link Reference}转换器 - * + * * @author Looly * @since 3.0.8 */ @SuppressWarnings("rawtypes") public class ReferenceConverter extends AbstractConverter { private static final long serialVersionUID = 1L; - + private final Class targetType; - + /** * 构造 * @param targetType {@link Reference}实现类型 @@ -33,7 +33,7 @@ public class ReferenceConverter extends AbstractConverter { @SuppressWarnings("unchecked") @Override protected Reference convertInternal(Object value) { - + //尝试将值转换为Reference泛型的类型 Object targetValue = null; final Type paramType = TypeUtil.getTypeArgument(targetType); @@ -43,13 +43,13 @@ public class ReferenceConverter extends AbstractConverter { if(null == targetValue){ targetValue = value; } - + if(this.targetType == WeakReference.class){ return new WeakReference(targetValue); }else if(this.targetType == SoftReference.class){ return new SoftReference(targetValue); } - + throw new UnsupportedOperationException(StrUtil.format("Unsupport Reference type: {}", this.targetType.getName())); } diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/StackTraceElementConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/StackTraceElementConverter.java index 9c9cfefba..79d32f48d 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/StackTraceElementConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/StackTraceElementConverter.java @@ -9,7 +9,7 @@ import cn.hutool.core.util.ObjectUtil; /** * {@link StackTraceElement} 转换器
* 只支持Map方式转换 - * + * * @author Looly * @since 3.0.8 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/URIConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/URIConverter.java index 6136700e5..94827aa15 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/URIConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/URIConverter.java @@ -20,7 +20,7 @@ public class URIConverter extends AbstractConverter{ if(value instanceof File){ return ((File)value).toURI(); } - + if(value instanceof URL){ return ((URL)value).toURI(); } diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/URLConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/URLConverter.java index c3eee3388..df0a2b288 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/URLConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/URLConverter.java @@ -20,7 +20,7 @@ public class URLConverter extends AbstractConverter{ if(value instanceof File){ return ((File)value).toURI().toURL(); } - + if(value instanceof URI){ return ((URI)value).toURL(); } diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/UUIDConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/UUIDConverter.java index f183f4355..35a7d8bd8 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/UUIDConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/UUIDConverter.java @@ -6,7 +6,7 @@ import cn.hutool.core.convert.AbstractConverter; /** * UUID对象转换器转换器 - * + * * @author Looly * @since 4.0.10 * diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/package-info.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/package-info.java index bbf7493b3..d04c3c24c 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/package-info.java @@ -1,6 +1,6 @@ /** * 各种类型转换的实现类,其都为Converter接口的实现,用于将未知的Object类型转换为指定类型 - * + * * @author looly * */ diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/package-info.java b/hutool-core/src/main/java/cn/hutool/core/convert/package-info.java index a141fb641..da721a9d3 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/package-info.java @@ -1,6 +1,6 @@ /** * 万能类型转换器以及各种类型转换的实现类,其中Convert为转换器入口,提供各种toXXX方法和convert方法 - * + * * @author looly * */ diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateBetween.java b/hutool-core/src/main/java/cn/hutool/core/date/DateBetween.java index 7903d9262..3be908942 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateBetween.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateBetween.java @@ -8,7 +8,7 @@ import java.util.Date; /** * 日期间隔 - * + * * @author Looly * */ @@ -23,7 +23,7 @@ public class DateBetween implements Serializable{ /** * 创建
* 在前的日期做为起始时间,在后的做为结束时间,间隔只保留绝对值正数 - * + * * @param begin 起始时间 * @param end 结束时间 * @return DateBetween @@ -36,7 +36,7 @@ public class DateBetween implements Serializable{ /** * 创建
* 在前的日期做为起始时间,在后的做为结束时间,间隔只保留绝对值正数 - * + * * @param begin 起始时间 * @param end 结束时间 * @param isAbs 日期间隔是否只保留绝对值正数 @@ -50,7 +50,7 @@ public class DateBetween implements Serializable{ /** * 构造
* 在前的日期做为起始时间,在后的做为结束时间,间隔只保留绝对值正数 - * + * * @param begin 起始时间 * @param end 结束时间 */ @@ -61,7 +61,7 @@ public class DateBetween implements Serializable{ /** * 构造
* 在前的日期做为起始时间,在后的做为结束时间 - * + * * @param begin 起始时间 * @param end 结束时间 * @param isAbs 日期间隔是否只保留绝对值正数 @@ -70,7 +70,7 @@ public class DateBetween implements Serializable{ public DateBetween(Date begin, Date end, boolean isAbs) { Assert.notNull(begin, "Begin date is null !"); Assert.notNull(end, "End date is null !"); - + if (isAbs && begin.after(end)) { // 间隔只为正数的情况下,如果开始日期晚于结束日期,置换之 this.begin = end; @@ -84,7 +84,7 @@ public class DateBetween implements Serializable{ /** * 判断两个日期相差的时长
* 返回 给定单位的时长差 - * + * * @param unit 相差的单位:相差 天{@link DateUnit#DAY}、小时{@link DateUnit#HOUR} 等 * @return 时长差 */ @@ -96,7 +96,7 @@ public class DateBetween implements Serializable{ /** * 计算两个日期相差月数
* 在非重置情况下,如果起始日期的天大于结束日期的天,月数要少算1(不足1个月) - * + * * @param isReset 是否重置时间为起始时间(重置天时分秒) * @return 相差月数 * @since 3.0.8 @@ -123,7 +123,7 @@ public class DateBetween implements Serializable{ /** * 计算两个日期相差年数
* 在非重置情况下,如果起始日期的月大于结束日期的月,年数要少算1(不足1年) - * + * * @param isReset 是否重置时间为起始时间(重置月天时分秒) * @return 相差年数 * @since 3.0.8 @@ -155,7 +155,7 @@ public class DateBetween implements Serializable{ /** * 格式化输出时间差
- * + * * @param level 级别 * @return 字符串 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateException.java b/hutool-core/src/main/java/cn/hutool/core/date/DateException.java index ff723d4c2..b22ec6fed 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateException.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateException.java @@ -13,19 +13,19 @@ public class DateException extends RuntimeException{ public DateException(Throwable e) { super(ExceptionUtil.getMessage(e), e); } - + public DateException(String message) { super(message); } - + public DateException(String messageTemplate, Object... params) { super(StrUtil.format(messageTemplate, params)); } - + public DateException(String message, Throwable throwable) { super(message, throwable); } - + public DateException(Throwable throwable, String messageTemplate, Object... params) { super(StrUtil.format(messageTemplate, params), throwable); } diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateField.java b/hutool-core/src/main/java/cn/hutool/core/date/DateField.java index 09fffb8be..19025fe7b 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateField.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateField.java @@ -5,7 +5,7 @@ import java.util.Calendar; /** * 日期各个部分的枚举
* 与Calendar相应值对应 - * + * * @author Looly * */ @@ -13,91 +13,91 @@ public enum DateField { /** * 世纪 - * + * * @see Calendar#ERA */ ERA(Calendar.ERA), /** * 年 - * + * * @see Calendar#YEAR */ YEAR(Calendar.YEAR), /** * 月 - * + * * @see Calendar#MONTH */ MONTH(Calendar.MONTH), /** * 一年中第几周 - * + * * @see Calendar#WEEK_OF_YEAR */ WEEK_OF_YEAR(Calendar.WEEK_OF_YEAR), /** * 一月中第几周 - * + * * @see Calendar#WEEK_OF_MONTH */ WEEK_OF_MONTH(Calendar.WEEK_OF_MONTH), /** * 一月中的第几天 - * + * * @see Calendar#DAY_OF_MONTH */ DAY_OF_MONTH(Calendar.DAY_OF_MONTH), /** * 一年中的第几天 - * + * * @see Calendar#DAY_OF_YEAR */ DAY_OF_YEAR(Calendar.DAY_OF_YEAR), /** * 周几,1表示周日,2表示周一 - * + * * @see Calendar#DAY_OF_WEEK */ DAY_OF_WEEK(Calendar.DAY_OF_WEEK), /** * 天所在的周是这个月的第几周 - * + * * @see Calendar#DAY_OF_WEEK_IN_MONTH */ DAY_OF_WEEK_IN_MONTH(Calendar.DAY_OF_WEEK_IN_MONTH), /** * 上午或者下午 - * + * * @see Calendar#AM_PM */ AM_PM(Calendar.AM_PM), /** * 小时,用于12小时制 - * + * * @see Calendar#HOUR */ HOUR(Calendar.HOUR), /** * 小时,用于24小时制 - * + * * @see Calendar#HOUR */ HOUR_OF_DAY(Calendar.HOUR_OF_DAY), /** * 分钟 - * + * * @see Calendar#MINUTE */ MINUTE(Calendar.MINUTE), /** * 秒 - * + * * @see Calendar#SECOND */ SECOND(Calendar.SECOND), /** * 毫秒 - * + * * @see Calendar#MILLISECOND */ MILLISECOND(Calendar.MILLISECOND); @@ -115,7 +115,7 @@ public enum DateField { /** * 将 {@link Calendar}相关值转换为DatePart枚举对象
- * + * * @param calendarPartIntValue Calendar中关于Week的int值 * @return {@link DateField} */ From b1ca1aed08637ae1a7e5b453fffe82906c1aa87c Mon Sep 17 00:00:00 2001 From: cal101 Date: Mon, 15 Mar 2021 00:03:34 +0000 Subject: [PATCH 05/22] [cleanup] erefactor/EclipseJdt - Remove trailing whitespace - All lines EclipseJdt cleanup 'RemoveAllTrailingWhitespace' applied by erefactor. For EclipseJdt see https://www.eclipse.org/eclipse/news/4.18/jdt.php For erefactor see https://github.com/cal101/erefactor --- .../java/cn/hutool/core/date/DateModifier.java | 10 +++++----- .../java/cn/hutool/core/date/DateRange.java | 8 ++++---- .../main/java/cn/hutool/core/date/Quarter.java | 10 +++++----- .../java/cn/hutool/core/date/SystemClock.java | 6 +++--- .../main/java/cn/hutool/core/date/Week.java | 18 +++++++++--------- .../main/java/cn/hutool/core/date/Zodiac.java | 18 +++++++++--------- .../hutool/core/date/chinese/package-info.java | 2 +- .../core/date/format/AbstractDateBasic.java | 4 ++-- .../cn/hutool/core/date/format/DateBasic.java | 8 ++++---- .../cn/hutool/core/date/format/DateParser.java | 12 ++++++------ .../core/date/format/FastDateFormat.java | 10 +++++----- .../core/date/format/FastDatePrinter.java | 10 +++++----- .../hutool/core/date/format/FormatCache.java | 16 ++++++++-------- .../hutool/core/date/format/package-info.java | 2 +- .../java/cn/hutool/core/date/package-info.java | 2 +- .../core/exceptions/DependencyException.java | 2 +- .../core/exceptions/NotInitedException.java | 2 +- .../core/exceptions/StatefulException.java | 2 +- .../hutool/core/exceptions/UtilException.java | 8 ++++---- .../core/exceptions/ValidateException.java | 4 ++-- 20 files changed, 77 insertions(+), 77 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateModifier.java b/hutool-core/src/main/java/cn/hutool/core/date/DateModifier.java index 757be2a3e..f5c14facf 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateModifier.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateModifier.java @@ -7,13 +7,13 @@ import cn.hutool.core.util.ArrayUtil; /** * 日期修改器
* 用于实现自定义某个日期字段的调整,包括: - * + * *
  * 1. 获取指定字段的起始时间
  * 2. 获取指定字段的四舍五入时间
  * 3. 获取指定字段的结束时间
  * 
- * + * * @author looly * */ @@ -31,7 +31,7 @@ public class DateModifier { /** * 修改日期 - * + * * @param calendar {@link Calendar} * @param dateField 日期字段,即保留到哪个日期字段 * @param modifyType 修改类型,包括舍去、四舍五入、进一等 @@ -87,7 +87,7 @@ public class DateModifier { // -------------------------------------------------------------------------------------------------- Private method start /** * 修改日期字段值 - * + * * @param calendar {@link Calendar} * @param field 字段,见{@link Calendar} * @param modifyType {@link ModifyType} @@ -125,7 +125,7 @@ public class DateModifier { /** * 修改类型 - * + * * @author looly * */ diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateRange.java b/hutool-core/src/main/java/cn/hutool/core/date/DateRange.java index 73aa6c353..485205a03 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateRange.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateRange.java @@ -6,7 +6,7 @@ import java.util.Date; /** * 日期范围 - * + * * @author looly * @since 4.1.0 */ @@ -15,7 +15,7 @@ public class DateRange extends Range { /** * 构造,包含开始和结束日期时间 - * + * * @param start 起始日期时间 * @param end 结束日期时间 * @param unit 步进单位 @@ -26,7 +26,7 @@ public class DateRange extends Range { /** * 构造,包含开始和结束日期时间 - * + * * @param start 起始日期时间 * @param end 结束日期时间 * @param unit 步进单位 @@ -38,7 +38,7 @@ public class DateRange extends Range { /** * 构造 - * + * * @param start 起始日期时间 * @param end 结束日期时间 * @param unit 步进单位 diff --git a/hutool-core/src/main/java/cn/hutool/core/date/Quarter.java b/hutool-core/src/main/java/cn/hutool/core/date/Quarter.java index ecbe15141..3a0985109 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/Quarter.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/Quarter.java @@ -2,12 +2,12 @@ package cn.hutool.core.date; /** * 季度枚举 - * + * * @see #Q1 * @see #Q2 * @see #Q3 * @see #Q4 - * + * * @author zhfish(https://github.com/zhfish) * */ @@ -21,7 +21,7 @@ public enum Quarter { Q3(3), /** 第四季度 */ Q4(4); - + // --------------------------------------------------------------- private final int value; @@ -35,12 +35,12 @@ public enum Quarter { /** * 将 季度int转换为Season枚举对象
- * + * * @see #Q1 * @see #Q2 * @see #Q3 * @see #Q4 - * + * * @param intValue 季度int表示 * @return {@link Quarter} */ diff --git a/hutool-core/src/main/java/cn/hutool/core/date/SystemClock.java b/hutool-core/src/main/java/cn/hutool/core/date/SystemClock.java index 83cf4bff6..3404e9188 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/SystemClock.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/SystemClock.java @@ -11,12 +11,12 @@ import java.util.concurrent.TimeUnit; * System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我还没测试过,有人说是100倍左右) * System.currentTimeMillis()之所以慢是因为去跟系统打了一次交道 * 后台定时更新时钟,JVM退出时,线程自动回收 - * + * * see: http://git.oschina.net/yu120/sequence * @author lry,looly */ public class SystemClock { - + /** 时钟更新间隔,单位毫秒 */ private final long period; /** 现在时刻的毫秒数 */ @@ -50,7 +50,7 @@ public class SystemClock { private long currentTimeMillis() { return now; } - + //------------------------------------------------------------------------ static /** * 单例 diff --git a/hutool-core/src/main/java/cn/hutool/core/date/Week.java b/hutool-core/src/main/java/cn/hutool/core/date/Week.java index 97025d24c..aa905511f 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/Week.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/Week.java @@ -5,7 +5,7 @@ import java.util.Calendar; /** * 星期枚举
* 与Calendar中的星期int值对应 - * + * * @see #SUNDAY * @see #MONDAY * @see #TUESDAY @@ -13,7 +13,7 @@ import java.util.Calendar; * @see #THURSDAY * @see #FRIDAY * @see #SATURDAY - * + * * @author Looly * */ @@ -40,7 +40,7 @@ public enum Week { /** * 构造 - * + * * @param value 星期对应{@link Calendar} 中的Week值 */ Week(int value) { @@ -49,16 +49,16 @@ public enum Week { /** * 获得星期对应{@link Calendar} 中的Week值 - * + * * @return 星期对应{@link Calendar} 中的Week值 */ public int getValue() { return this.value; } - + /** * 转换为中文名 - * + * * @return 星期的中文名 * @since 3.3.0 */ @@ -68,7 +68,7 @@ public enum Week { /** * 转换为中文名 - * + * * @param weekNamePre 表示星期的前缀,例如前缀为“星期”,则返回结果为“星期一”;前缀为”周“,结果为“周一” * @return 星期的中文名 * @since 4.0.11 @@ -96,7 +96,7 @@ public enum Week { /** * 将 {@link Calendar}星期相关值转换为Week枚举对象
- * + * * @see #SUNDAY * @see #MONDAY * @see #TUESDAY @@ -104,7 +104,7 @@ public enum Week { * @see #THURSDAY * @see #FRIDAY * @see #SATURDAY - * + * * @param calendarWeekIntValue Calendar中关于Week的int值 * @return {@link Week} */ diff --git a/hutool-core/src/main/java/cn/hutool/core/date/Zodiac.java b/hutool-core/src/main/java/cn/hutool/core/date/Zodiac.java index b7372e022..9e504f496 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/Zodiac.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/Zodiac.java @@ -5,7 +5,7 @@ import java.util.Date; /** * 星座 来自:https://blog.csdn.net/u010758605/article/details/48317881 - * + * * @author looly * @since 4.4.3 */ @@ -19,7 +19,7 @@ public class Zodiac { /** * 通过生日计算星座 - * + * * @param date 出生日期 * @return 星座名 */ @@ -29,7 +29,7 @@ public class Zodiac { /** * 通过生日计算星座 - * + * * @param calendar 出生日期 * @return 星座名 */ @@ -39,10 +39,10 @@ public class Zodiac { } return getZodiac(calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); } - + /** * 通过生日计算星座 - * + * * @param month 月,从0开始计数 * @param day 天 * @return 星座名 @@ -54,7 +54,7 @@ public class Zodiac { /** * 通过生日计算星座 - * + * * @param month 月,从0开始计数,见{@link Month#getValue()} * @param day 天 * @return 星座名 @@ -67,7 +67,7 @@ public class Zodiac { // ----------------------------------------------------------------------------------------------------------- 生肖 /** * 通过生日计算生肖,只计算1900年后出生的人 - * + * * @param date 出生日期(年需农历) * @return 星座名 */ @@ -77,7 +77,7 @@ public class Zodiac { /** * 通过生日计算生肖,只计算1900年后出生的人 - * + * * @param calendar 出生日期(年需农历) * @return 星座名 */ @@ -90,7 +90,7 @@ public class Zodiac { /** * 计算生肖,只计算1900年后出生的人 - * + * * @param year 农历年 * @return 生肖名 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/date/chinese/package-info.java b/hutool-core/src/main/java/cn/hutool/core/date/chinese/package-info.java index 8307df4e0..131018598 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/chinese/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/chinese/package-info.java @@ -1,6 +1,6 @@ /** * 农历相关类汇总,包括农历月、天干地支、农历节日、24节气等 - * + * * @author looly * */ diff --git a/hutool-core/src/main/java/cn/hutool/core/date/format/AbstractDateBasic.java b/hutool-core/src/main/java/cn/hutool/core/date/format/AbstractDateBasic.java index a6e7f0fdf..889ea7006 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/format/AbstractDateBasic.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/format/AbstractDateBasic.java @@ -6,14 +6,14 @@ import java.util.TimeZone; public abstract class AbstractDateBasic implements DateBasic, Serializable { private static final long serialVersionUID = 6333136319870641818L; - + /** The pattern */ protected final String pattern; /** The time zone. */ protected final TimeZone timeZone; /** The locale. */ protected final Locale locale; - + /** * 构造,内部使用 * @param pattern 使用{@link java.text.SimpleDateFormat} 相同的日期格式 diff --git a/hutool-core/src/main/java/cn/hutool/core/date/format/DateBasic.java b/hutool-core/src/main/java/cn/hutool/core/date/format/DateBasic.java index 23f041798..e8c7c4264 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/format/DateBasic.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/format/DateBasic.java @@ -5,7 +5,7 @@ import java.util.TimeZone; /** * 日期基本信息获取接口 - * + * * @author Looly * @since 2.16.2 */ @@ -13,21 +13,21 @@ public interface DateBasic { /** * 获得日期格式化或者转换的格式 - * + * * @return {@link java.text.SimpleDateFormat}兼容的格式 */ String getPattern(); /** * 获得时区 - * + * * @return {@link TimeZone} */ TimeZone getTimeZone(); /** * 获得 日期地理位置 - * + * * @return {@link Locale} */ Locale getLocale(); diff --git a/hutool-core/src/main/java/cn/hutool/core/date/format/DateParser.java b/hutool-core/src/main/java/cn/hutool/core/date/format/DateParser.java index 27caf815f..db4f520d7 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/format/DateParser.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/format/DateParser.java @@ -15,7 +15,7 @@ public interface DateParser extends DateBasic{ /** * 将日期字符串解析并转换为 {@link Date} 对象
* 等价于 {@link java.text.DateFormat#parse(String)} - * + * * @param source 日期字符串 * @return {@link Date} * @throws ParseException 转换异常,被转换的字符串格式错误。 @@ -25,7 +25,7 @@ public interface DateParser extends DateBasic{ /** * 将日期字符串解析并转换为 {@link Date} 对象
* 等价于 {@link java.text.DateFormat#parse(String, ParsePosition)} - * + * * @param source 日期字符串 * @param pos {@link ParsePosition} * @return {@link Date} @@ -34,8 +34,8 @@ public interface DateParser extends DateBasic{ /** * 根据给定格式转换日期字符串 - * Updates the Calendar with parsed fields. Upon success, the ParsePosition index is updated to indicate how much of the source text was consumed. - * Not all source text needs to be consumed. + * Updates the Calendar with parsed fields. Upon success, the ParsePosition index is updated to indicate how much of the source text was consumed. + * Not all source text needs to be consumed. * Upon parse failure, ParsePosition error index is updated to the offset of the source text which does not match the supplied format. * * @param source 被转换的日期字符串 @@ -48,7 +48,7 @@ public interface DateParser extends DateBasic{ /** * 将日期字符串解析并转换为 {@link Date} 对象
- * + * * @param source A String whose beginning should be parsed. * @return a java.util.Date object * @throws ParseException if the beginning of the specified string cannot be parsed. @@ -58,7 +58,7 @@ public interface DateParser extends DateBasic{ /** * 根据 {@link ParsePosition} 给定将日期字符串解析并转换为 {@link Date} 对象
- * + * * @param source A String whose beginning should be parsed. * @param pos the parse position * @return a java.util.Date object diff --git a/hutool-core/src/main/java/cn/hutool/core/date/format/FastDateFormat.java b/hutool-core/src/main/java/cn/hutool/core/date/format/FastDateFormat.java index ef1f25f31..792c5ae80 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/format/FastDateFormat.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/format/FastDateFormat.java @@ -22,7 +22,7 @@ import java.util.TimeZone; * {@link #getTimeInstance(int, TimeZone, Locale)}
* {@link #getDateTimeInstance(int, int, TimeZone, Locale)} *

- * + * * Thanks to Apache Commons Lang 3.5 * @since 2.16.2 */ @@ -51,7 +51,7 @@ public class FastDateFormat extends Format implements DateParser, DatePrinter { // ----------------------------------------------------------------------- /** * 获得 FastDateFormat实例,使用默认格式和地区 - * + * * @return FastDateFormat */ public static FastDateFormat getInstance() { @@ -61,7 +61,7 @@ public class FastDateFormat extends Format implements DateParser, DatePrinter { /** * 获得 FastDateFormat 实例,使用默认地区
* 支持缓存 - * + * * @param pattern 使用{@link java.text.SimpleDateFormat} 相同的日期格式 * @return FastDateFormat * @throws IllegalArgumentException 日期格式问题 @@ -73,7 +73,7 @@ public class FastDateFormat extends Format implements DateParser, DatePrinter { /** * 获得 FastDateFormat 实例
* 支持缓存 - * + * * @param pattern 使用{@link java.text.SimpleDateFormat} 相同的日期格式 * @param timeZone 时区{@link TimeZone} * @return FastDateFormat @@ -99,7 +99,7 @@ public class FastDateFormat extends Format implements DateParser, DatePrinter { /** * 获得 FastDateFormat 实例
* 支持缓存 - * + * * @param pattern 使用{@link java.text.SimpleDateFormat} 相同的日期格式 * @param timeZone 时区{@link TimeZone} * @param locale {@link Locale} 日期地理位置 diff --git a/hutool-core/src/main/java/cn/hutool/core/date/format/FastDatePrinter.java b/hutool-core/src/main/java/cn/hutool/core/date/format/FastDatePrinter.java index 43108471b..b69e32b86 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/format/FastDatePrinter.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/format/FastDatePrinter.java @@ -22,7 +22,7 @@ import java.util.concurrent.ConcurrentMap; */ public class FastDatePrinter extends AbstractDateBasic implements DatePrinter { private static final long serialVersionUID = -6305750172255764887L; - + /** 规则列表. */ private transient Rule[] rules; /** 估算最大长度. */ @@ -32,7 +32,7 @@ public class FastDatePrinter extends AbstractDateBasic implements DatePrinter { // ----------------------------------------------------------------------- /** * 构造,内部使用
- * + * * @param pattern 使用{@link java.text.SimpleDateFormat} 相同的日期格式 * @param timeZone 非空时区{@link TimeZone} * @param locale 非空{@link Locale} 日期地理位置 @@ -289,7 +289,7 @@ public class FastDatePrinter extends AbstractDateBasic implements DatePrinter { *

* Formats a {@code Date}, {@code Calendar} or {@code Long} (milliseconds) object. *

- * + * * @param obj the object to format * @return The formatted value. */ @@ -347,10 +347,10 @@ public class FastDatePrinter extends AbstractDateBasic implements DatePrinter { } return applyRules(calendar, buf); } - + /** * Creates a String representation of the given Calendar by applying the rules of this printer to it. - * + * * @param c the Calender to apply the rules to. * @return a String representation of the given Calendar. */ diff --git a/hutool-core/src/main/java/cn/hutool/core/date/format/FormatCache.java b/hutool-core/src/main/java/cn/hutool/core/date/format/FormatCache.java index a9f7d5390..2cc136020 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/format/FormatCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/format/FormatCache.java @@ -14,7 +14,7 @@ import java.util.concurrent.ConcurrentMap; /** * 日期格式化器缓存
* Thanks to Apache Commons Lang 3.5 - * + * * @since 2.16.2 */ abstract class FormatCache { @@ -38,7 +38,7 @@ abstract class FormatCache { /** * 使用 pattern, time zone and locale 获得对应的 格式化器 - * + * * @param pattern 非空日期格式,使用与 {@link java.text.SimpleDateFormat}相同格式 * @param timeZone 时区,默认当前时区 * @param locale 地区,默认使用当前地区 @@ -69,7 +69,7 @@ abstract class FormatCache { /** * 创建格式化器 - * + * * @param pattern 非空日期格式,使用与 {@link java.text.SimpleDateFormat}相同格式 * @param timeZone 时区,默认当前时区 * @param locale 地区,默认使用当前地区 @@ -82,7 +82,7 @@ abstract class FormatCache { *

* Gets a date/time formatter instance using the specified style, time zone and locale. *

- * + * * @param dateStyle date style: FULL, LONG, MEDIUM, or SHORT, null indicates no date in format * @param timeStyle time style: FULL, LONG, MEDIUM, or SHORT, null indicates no time in format * @param timeZone optional time zone, overrides time zone of formatted date, null means use default Locale @@ -103,7 +103,7 @@ abstract class FormatCache { *

* Gets a date/time formatter instance using the specified style, time zone and locale. *

- * + * * @param dateStyle date style: FULL, LONG, MEDIUM, or SHORT * @param timeStyle time style: FULL, LONG, MEDIUM, or SHORT * @param timeZone optional time zone, overrides time zone of formatted date, null means use default Locale @@ -120,7 +120,7 @@ abstract class FormatCache { *

* Gets a date formatter instance using the specified style, time zone and locale. *

- * + * * @param dateStyle date style: FULL, LONG, MEDIUM, or SHORT * @param timeZone optional time zone, overrides time zone of formatted date, null means use default Locale * @param locale optional locale, overrides system locale @@ -136,7 +136,7 @@ abstract class FormatCache { *

* Gets a time formatter instance using the specified style, time zone and locale. *

- * + * * @param timeStyle time style: FULL, LONG, MEDIUM, or SHORT * @param timeZone optional time zone, overrides time zone of formatted date, null means use default Locale * @param locale optional locale, overrides system locale @@ -152,7 +152,7 @@ abstract class FormatCache { *

* Gets a date/time format for the specified styles and locale. *

- * + * * @param dateStyle date style: FULL, LONG, MEDIUM, or SHORT, null indicates no date in format * @param timeStyle time style: FULL, LONG, MEDIUM, or SHORT, null indicates no time in format * @param locale The non-null locale of the desired format diff --git a/hutool-core/src/main/java/cn/hutool/core/date/format/package-info.java b/hutool-core/src/main/java/cn/hutool/core/date/format/package-info.java index a224bfdb2..13fe57861 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/format/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/format/package-info.java @@ -1,6 +1,6 @@ /** * 提供线程安全的日期格式的格式化和解析实现 - * + * * @author looly * */ diff --git a/hutool-core/src/main/java/cn/hutool/core/date/package-info.java b/hutool-core/src/main/java/cn/hutool/core/date/package-info.java index 19fdb597f..284d05321 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/package-info.java @@ -1,6 +1,6 @@ /** * 日期封装,日期的核心为DateTime类,DateUtil提供日期操作的入口 - * + * * @author looly * */ diff --git a/hutool-core/src/main/java/cn/hutool/core/exceptions/DependencyException.java b/hutool-core/src/main/java/cn/hutool/core/exceptions/DependencyException.java index 23e6ccdb9..09591159e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/exceptions/DependencyException.java +++ b/hutool-core/src/main/java/cn/hutool/core/exceptions/DependencyException.java @@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil; /** * 依赖异常 - * + * * @author xiaoleilu * @since 4.0.10 */ diff --git a/hutool-core/src/main/java/cn/hutool/core/exceptions/NotInitedException.java b/hutool-core/src/main/java/cn/hutool/core/exceptions/NotInitedException.java index 6552ffabd..f2cc929aa 100644 --- a/hutool-core/src/main/java/cn/hutool/core/exceptions/NotInitedException.java +++ b/hutool-core/src/main/java/cn/hutool/core/exceptions/NotInitedException.java @@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil; /** * 未初始化异常 - * + * * @author xiaoleilu */ public class NotInitedException extends RuntimeException { diff --git a/hutool-core/src/main/java/cn/hutool/core/exceptions/StatefulException.java b/hutool-core/src/main/java/cn/hutool/core/exceptions/StatefulException.java index 9a219f258..98c71e026 100644 --- a/hutool-core/src/main/java/cn/hutool/core/exceptions/StatefulException.java +++ b/hutool-core/src/main/java/cn/hutool/core/exceptions/StatefulException.java @@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil; /** * 带有状态码的异常 - * + * * @author xiaoleilu * */ diff --git a/hutool-core/src/main/java/cn/hutool/core/exceptions/UtilException.java b/hutool-core/src/main/java/cn/hutool/core/exceptions/UtilException.java index c5fb56d29..4493db75c 100644 --- a/hutool-core/src/main/java/cn/hutool/core/exceptions/UtilException.java +++ b/hutool-core/src/main/java/cn/hutool/core/exceptions/UtilException.java @@ -12,19 +12,19 @@ public class UtilException extends RuntimeException{ public UtilException(Throwable e) { super(ExceptionUtil.getMessage(e), e); } - + public UtilException(String message) { super(message); } - + public UtilException(String messageTemplate, Object... params) { super(StrUtil.format(messageTemplate, params)); } - + public UtilException(String message, Throwable throwable) { super(message, throwable); } - + public UtilException(Throwable throwable, String messageTemplate, Object... params) { super(StrUtil.format(messageTemplate, params), throwable); } diff --git a/hutool-core/src/main/java/cn/hutool/core/exceptions/ValidateException.java b/hutool-core/src/main/java/cn/hutool/core/exceptions/ValidateException.java index ba8012f14..0d7f83e6c 100644 --- a/hutool-core/src/main/java/cn/hutool/core/exceptions/ValidateException.java +++ b/hutool-core/src/main/java/cn/hutool/core/exceptions/ValidateException.java @@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil; /** * 验证异常 - * + * * @author xiaoleilu */ public class ValidateException extends StatefulException { @@ -16,7 +16,7 @@ public class ValidateException extends StatefulException { public ValidateException(String msg) { super(msg); } - + public ValidateException(String messageTemplate, Object... params) { super(StrUtil.format(messageTemplate, params)); } From 496857e67a4f3609009efe18d24372707dec222e Mon Sep 17 00:00:00 2001 From: "Mr.Po" <504919167@qq.com> Date: Tue, 16 Mar 2021 10:25:50 +0800 Subject: [PATCH 06/22] =?UTF-8?q?=E6=96=B0=E5=A2=9ELazyFunLoader?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/lang/loader/LazyFunLoader.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java new file mode 100644 index 000000000..0b609c47b --- /dev/null +++ b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java @@ -0,0 +1,46 @@ +package cn.hutool.core.lang.loader; + +import cn.hutool.core.lang.Assert; + +import java.util.function.Supplier; + +/** + * 函数式懒加载加载器
+ * 传入用于生成对象的函数,在对象需要使用时调用生成对象,然后抛弃此生成对象的函数。
+ * 此加载器常用于对象比较庞大而不一定被使用的情况,用于减少启动时资源占用问题
+ * 继承自{@link LazyLoader},如何实现多线程安全,由LazyLoader完成。 + * + * @param 被加载对象类型 + * @author Mr.Po + * @see cn.hutool.core.lang.loader.LazyLoader + */ +public final class LazyFunLoader extends LazyLoader { + + /** + * 对象生成函数 + */ + private Supplier supplier; + + public LazyFunLoader(Supplier supplier) { + Assert.notNull(supplier); + this.supplier = supplier; + } + + @Override + protected T init() { + + T t = this.supplier.get(); + this.supplier = null; + + return t; + } + + /** + * 是否已经初始化 + * + * @return 是/否 + */ + public boolean isInitialize() { + return this.supplier == null; + } +} From 41719e394c8a6c6112e5382695de2f4840dffdc0 Mon Sep 17 00:00:00 2001 From: "Mr.Po" <504919167@qq.com> Date: Tue, 16 Mar 2021 10:28:22 +0800 Subject: [PATCH 07/22] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/hutool/core/lang/loader/LazyFunLoader.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java index 0b609c47b..2295aa516 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java @@ -17,10 +17,14 @@ import java.util.function.Supplier; public final class LazyFunLoader extends LazyLoader { /** - * 对象生成函数 + * 用于生成对象的函数 */ private Supplier supplier; + /** + * 构造 + * @param supplier 用于生成对象的函数 + */ public LazyFunLoader(Supplier supplier) { Assert.notNull(supplier); this.supplier = supplier; From d848e8cbbd941f64a34a5c61c67317eb04a70131 Mon Sep 17 00:00:00 2001 From: "Mr.Po" <504919167@qq.com> Date: Tue, 16 Mar 2021 10:53:19 +0800 Subject: [PATCH 08/22] =?UTF-8?q?=E5=A2=9E=E5=8A=A0ifInitialized()?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/hutool/core/lang/loader/LazyFunLoader.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java index 2295aa516..6432d45e0 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java @@ -2,6 +2,7 @@ package cn.hutool.core.lang.loader; import cn.hutool.core.lang.Assert; +import java.util.function.Consumer; import java.util.function.Supplier; /** @@ -23,6 +24,7 @@ public final class LazyFunLoader extends LazyLoader { /** * 构造 + * * @param supplier 用于生成对象的函数 */ public LazyFunLoader(Supplier supplier) { @@ -47,4 +49,17 @@ public final class LazyFunLoader extends LazyLoader { public boolean isInitialize() { return this.supplier == null; } + + /** + * 如果已经初始化,就执行传入函数 + * + * @param consumer 待执行函数 + */ + public void ifInitialized(Consumer consumer) { + + // 已经初始化 + if (this.isInitialize()) { + consumer.accept(this.get()); + } + } } From cbf16443dd7a033074183a4da51a0d9a1ecf4245 Mon Sep 17 00:00:00 2001 From: "Mr.Po" <504919167@qq.com> Date: Tue, 16 Mar 2021 10:56:56 +0800 Subject: [PATCH 09/22] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/lang/loader/LazyFunLoaderTest.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 hutool-core/src/test/java/cn/hutool/core/lang/loader/LazyFunLoaderTest.java diff --git a/hutool-core/src/test/java/cn/hutool/core/lang/loader/LazyFunLoaderTest.java b/hutool-core/src/test/java/cn/hutool/core/lang/loader/LazyFunLoaderTest.java new file mode 100644 index 000000000..5155af838 --- /dev/null +++ b/hutool-core/src/test/java/cn/hutool/core/lang/loader/LazyFunLoaderTest.java @@ -0,0 +1,42 @@ +package cn.hutool.core.lang.loader; + +import org.junit.Assert; +import org.junit.Test; + +public class LazyFunLoaderTest { + + static class BigObject { + + private boolean isDestroy = false; + + public void destroy() { + this.isDestroy = true; + } + } + + @Test + public void test1() { + + LazyFunLoader loader = new LazyFunLoader<>(BigObject::new); + + Assert.assertNotNull(loader.get()); + + // 对于某些对象,在程序关闭时,需要进行销毁操作 + loader.ifInitialized(BigObject::destroy); + + Assert.assertTrue(loader.get().isDestroy); + } + + @Test + public void test2() { + + LazyFunLoader loader = new LazyFunLoader<>(BigObject::new); + + // 若从未使用,则可以避免不必要的初始化 + loader.ifInitialized(it -> { + + Assert.fail(); + it.destroy(); + }); + } +} From 35dd387cb9c2fc8856f2336240bfc2a940680d9c Mon Sep 17 00:00:00 2001 From: "Mr.Po" <504919167@qq.com> Date: Tue, 16 Mar 2021 11:01:17 +0800 Subject: [PATCH 10/22] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=A4=E5=AE=9A?= =?UTF-8?q?=E9=9D=9E=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java index 6432d45e0..95832ce27 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java @@ -57,6 +57,8 @@ public final class LazyFunLoader extends LazyLoader { */ public void ifInitialized(Consumer consumer) { + Assert.notNull(consumer); + // 已经初始化 if (this.isInitialize()) { consumer.accept(this.get()); From b5e4ec95761b13b46e4ba65a6e3d472720accd3a Mon Sep 17 00:00:00 2001 From: "Mr.Po" <504919167@qq.com> Date: Tue, 16 Mar 2021 11:06:57 +0800 Subject: [PATCH 11/22] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/core/lang/loader/LazyFunLoaderTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hutool-core/src/test/java/cn/hutool/core/lang/loader/LazyFunLoaderTest.java b/hutool-core/src/test/java/cn/hutool/core/lang/loader/LazyFunLoaderTest.java index 5155af838..6de9cb529 100644 --- a/hutool-core/src/test/java/cn/hutool/core/lang/loader/LazyFunLoaderTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/lang/loader/LazyFunLoaderTest.java @@ -20,6 +20,7 @@ public class LazyFunLoaderTest { LazyFunLoader loader = new LazyFunLoader<>(BigObject::new); Assert.assertNotNull(loader.get()); + Assert.assertTrue(loader.isInitialize()); // 对于某些对象,在程序关闭时,需要进行销毁操作 loader.ifInitialized(BigObject::destroy); @@ -38,5 +39,7 @@ public class LazyFunLoaderTest { Assert.fail(); it.destroy(); }); + + Assert.assertFalse(loader.isInitialize()); } } From 3bd816471c3fca2bb52ac7c6d752077c098313cc Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 16 Mar 2021 13:10:14 +0800 Subject: [PATCH 12/22] add LazyFuncLoader --- CHANGELOG.md | 3 ++- .../java/cn/hutool/core/lang/loader/LazyFunLoader.java | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2feeb3027..8bcefbddd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,11 +3,12 @@ ------------------------------------------------------------------------------------------------------------- -# 5.6.1 (2021-03-14) +# 5.6.1 (2021-03-16) ### 新特性 * 【crypto 】 SecureUtil去除final修饰符(issue#1474@Github) * 【core 】 IoUtil增加lineIter方法 +* 【core 】 新增函数式懒加载加载器(pr#275@Gitee) ### Bug修复 * 【core 】 修复IoUtil.readBytes的FileInputStream中isClose参数失效问题(issue#I3B7UD@Gitee) diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java index 95832ce27..e50e80a76 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java @@ -14,8 +14,10 @@ import java.util.function.Supplier; * @param 被加载对象类型 * @author Mr.Po * @see cn.hutool.core.lang.loader.LazyLoader + * @since 5.6.1 */ -public final class LazyFunLoader extends LazyLoader { +public class LazyFunLoader extends LazyLoader { + private static final long serialVersionUID = 1L; /** * 用于生成对象的函数 @@ -34,10 +36,8 @@ public final class LazyFunLoader extends LazyLoader { @Override protected T init() { - T t = this.supplier.get(); this.supplier = null; - return t; } @@ -56,7 +56,6 @@ public final class LazyFunLoader extends LazyLoader { * @param consumer 待执行函数 */ public void ifInitialized(Consumer consumer) { - Assert.notNull(consumer); // 已经初始化 From 5fbb1ee06d99999147d47971a38b4373ad70a2e3 Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 16 Mar 2021 13:19:18 +0800 Subject: [PATCH 13/22] clean code --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1d6202112..da1020c6c 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ - + From 01ddc182fd72064d6e55beea5cc618148db96302 Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 16 Mar 2021 13:24:28 +0800 Subject: [PATCH 14/22] add miniProgram --- CHANGELOG.md | 1 + .../main/java/cn/hutool/http/useragent/Browser.java | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bcefbddd..d564dddcf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ * 【crypto 】 SecureUtil去除final修饰符(issue#1474@Github) * 【core 】 IoUtil增加lineIter方法 * 【core 】 新增函数式懒加载加载器(pr#275@Gitee) +* 【http 】 UserAgentUtil增加miniProgram判断(issue#1475@Github) ### Bug修复 * 【core 】 修复IoUtil.readBytes的FileInputStream中isClose参数失效问题(issue#I3B7UD@Gitee) diff --git a/hutool-http/src/main/java/cn/hutool/http/useragent/Browser.java b/hutool-http/src/main/java/cn/hutool/http/useragent/Browser.java index 45c35a264..c6ab83069 100644 --- a/hutool-http/src/main/java/cn/hutool/http/useragent/Browser.java +++ b/hutool-http/src/main/java/cn/hutool/http/useragent/Browser.java @@ -8,7 +8,7 @@ import java.util.regex.Pattern; /** * 浏览器对象 - * + * * @author looly * @since 4.2.1 */ @@ -50,6 +50,8 @@ public class Browser extends UserAgentInfo { new Browser("wxwork", "wxwork", "wxwork\\/([\\d\\w\\.\\-]+)"), // 微信 new Browser("MicroMessenger", "MicroMessenger", "MicroMessenger\\/([\\d\\w\\.\\-]+)"), + // 微信小程序 + new Browser("miniProgram", "miniProgram", "miniProgram\\/([\\d\\w\\.\\-]+)"), // 钉钉 new Browser("DingTalk", "DingTalk", "AliApp\\(DingTalk\\/([\\d\\w\\.\\-]+)\\)") ); @@ -59,7 +61,7 @@ public class Browser extends UserAgentInfo { /** * 构造 - * + * * @param name 浏览器名称 * @param regex 关键字或表达式 * @param versionRegex 匹配版本的正则 @@ -76,7 +78,7 @@ public class Browser extends UserAgentInfo { /** * 获取浏览器版本 - * + * * @param userAgentString User-Agent字符串 * @return 版本 */ @@ -86,7 +88,7 @@ public class Browser extends UserAgentInfo { /** * 是否移动浏览器 - * + * * @return 是否移动浏览器 */ public boolean isMobile() { From 948adebeb76b2f99e96d477adde74def3c6094ad Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 16 Mar 2021 13:46:30 +0800 Subject: [PATCH 15/22] fix readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index da1020c6c..1d6202112 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ - + From 825b5ea1b41572f71d18da95e6bdfc27535d30e4 Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 16 Mar 2021 14:22:01 +0800 Subject: [PATCH 16/22] fix vode --- CHANGELOG.md | 2 ++ .../src/main/java/cn/hutool/core/io/unit/DataUnit.java | 4 ++-- .../src/main/java/cn/hutool/db/dialect/DialectFactory.java | 5 +++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d564dddcf..702cfb421 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,9 +10,11 @@ * 【core 】 IoUtil增加lineIter方法 * 【core 】 新增函数式懒加载加载器(pr#275@Gitee) * 【http 】 UserAgentUtil增加miniProgram判断(issue#1475@Github) +* 【db 】 增加Ignite数据库驱动识别 ### Bug修复 * 【core 】 修复IoUtil.readBytes的FileInputStream中isClose参数失效问题(issue#I3B7UD@Gitee) +* 【core 】 修复DataUnit中KB不大写的问题 ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/cn/hutool/core/io/unit/DataUnit.java b/hutool-core/src/main/java/cn/hutool/core/io/unit/DataUnit.java index 6a95b8dc0..2163fc94e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/unit/DataUnit.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/unit/DataUnit.java @@ -44,7 +44,7 @@ public enum DataUnit { */ TERABYTES("TB", DataSize.ofTerabytes(1)); - public static final String[] UNIT_NAMES = new String[]{"B", "kB", "MB", "GB", "TB", "PB", "EB"}; + public static final String[] UNIT_NAMES = new String[]{"B", "KB", "MB", "GB", "TB", "PB", "EB"}; private final String suffix; @@ -61,7 +61,7 @@ public enum DataUnit { } /** - * 通过后缀返回对应的 {@link DataUnit} + * 通过后缀返回对应的 DataUnit * * @param suffix 单位后缀 * @return 匹配到的{@link DataUnit} diff --git a/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java b/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java index 09f77b534..f7d4c9b26 100644 --- a/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java +++ b/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java @@ -52,6 +52,8 @@ public class DialectFactory { public static final String DRIVER_DM7 = "dm.jdbc.driver.DmDriver"; /** JDBC 驱动 人大金仓 */ public static final String DRIVER_KINGBASE8 = "com.kingbase8.Driver"; + /** JDBC 驱动 Ignite thin */ + public static final String DRIVER_IGNITE_THIN = "org.apache.ignite.IgniteJdbcThinDriver"; private static final Map DIALECT_POOL = new ConcurrentHashMap<>(); @@ -138,6 +140,9 @@ public class DialectFactory { } else if (nameContainsProductInfo.contains("kingbase8")) { // 人大金仓8 driver = DRIVER_KINGBASE8; + } else if (nameContainsProductInfo.contains("ignite")) { + // Ignite thin + driver = DRIVER_IGNITE_THIN; } return driver; From abdedf68220bf42cb434d1a8b84be5a32baffe0f Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 18 Mar 2021 21:16:14 +0800 Subject: [PATCH 17/22] fix bugs --- CHANGELOG.md | 5 +++- .../java/cn/hutool/core/bean/BeanUtil.java | 13 +++++++-- .../java/cn/hutool/core/date/DatePattern.java | 9 +++++++ .../java/cn/hutool/core/date/DateUtil.java | 3 +++ .../cn/hutool/core/date/DateUtilTest.java | 7 +++++ .../hutool/extra/pinyin/PinyinUtilTest.java | 6 +++++ .../main/java/cn/hutool/json/JSONUtil.java | 12 +++++++-- .../test/java/cn/hutool/json/IssueI3BS4S.java | 27 +++++++++++++++++++ .../java/cn/hutool/json/JSONPathTest.java | 10 ++++++- 9 files changed, 86 insertions(+), 6 deletions(-) create mode 100644 hutool-json/src/test/java/cn/hutool/json/IssueI3BS4S.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 702cfb421..ee34b8119 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ------------------------------------------------------------------------------------------------------------- -# 5.6.1 (2021-03-16) +# 5.6.1 (2021-03-18) ### 新特性 * 【crypto 】 SecureUtil去除final修饰符(issue#1474@Github) @@ -11,10 +11,13 @@ * 【core 】 新增函数式懒加载加载器(pr#275@Gitee) * 【http 】 UserAgentUtil增加miniProgram判断(issue#1475@Github) * 【db 】 增加Ignite数据库驱动识别 +* 【core 】 DateUtil.parse支持带毫秒的UTC时间 ### Bug修复 * 【core 】 修复IoUtil.readBytes的FileInputStream中isClose参数失效问题(issue#I3B7UD@Gitee) * 【core 】 修复DataUnit中KB不大写的问题 +* 【json 】 修复JSONUtil.getByPath类型错误问题(issue#I3BSDF@Gitee) +* 【core 】 修复BeanUtil.toBean提供null未返回null的问题(issue#I3BQPV@Gitee) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java b/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java index e99afde07..d60927168 100644 --- a/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java @@ -544,6 +544,9 @@ public class BeanUtil { * @since 5.2.4 */ public static T toBean(Object source, Class clazz, CopyOptions options) { + if(null == source){ + return null; + } final T target = ReflectUtil.newInstanceIfPossible(clazz); copyProperties(source, target, options); return target; @@ -559,6 +562,9 @@ public class BeanUtil { * @return Bean */ public static T toBean(Class beanClass, ValueProvider valueProvider, CopyOptions copyOptions) { + if (null == beanClass || null == valueProvider) { + return null; + } return fillBean(ReflectUtil.newInstanceIfPossible(beanClass), valueProvider, copyOptions); } @@ -600,6 +606,9 @@ public class BeanUtil { * @return Map */ public static Map beanToMap(Object bean, boolean isToUnderlineCase, boolean ignoreNullValue) { + if (null == bean) { + return null; + } return beanToMap(bean, new LinkedHashMap<>(), isToUnderlineCase, ignoreNullValue); } @@ -614,7 +623,7 @@ public class BeanUtil { * @since 3.2.3 */ public static Map beanToMap(Object bean, Map targetMap, final boolean isToUnderlineCase, boolean ignoreNullValue) { - if (bean == null) { + if (null == bean) { return null; } @@ -639,7 +648,7 @@ public class BeanUtil { * @since 4.0.5 */ public static Map beanToMap(Object bean, Map targetMap, boolean ignoreNullValue, Editor keyEditor) { - if (bean == null) { + if (null == bean) { return null; } diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DatePattern.java b/hutool-core/src/main/java/cn/hutool/core/date/DatePattern.java index 912840d35..f89690eee 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DatePattern.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DatePattern.java @@ -200,6 +200,15 @@ public class DatePattern { */ public static final FastDateFormat UTC_SIMPLE_FORMAT = FastDateFormat.getInstance(UTC_SIMPLE_PATTERN, TimeZone.getTimeZone("UTC")); + /** + * UTC时间:yyyy-MM-dd'T'HH:mm:ss.SSS + */ + public static final String UTC_SIMPLE_MS_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS"; + /** + * UTC时间{@link FastDateFormat}:yyyy-MM-dd'T'HH:mm:ss.SSS + */ + public static final FastDateFormat UTC_SIMPLE_MS_FORMAT = FastDateFormat.getInstance(UTC_SIMPLE_MS_PATTERN, TimeZone.getTimeZone("UTC")); + /** * UTC时间:yyyy-MM-dd'T'HH:mm:ss'Z' */ diff --git a/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java b/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java index c7acc35d6..9557a241e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java @@ -836,6 +836,9 @@ public class DateUtil extends CalendarUtil { } else if (length == DatePattern.UTC_SIMPLE_PATTERN.length() - 2) { // 格式类似:2018-09-13T05:34:31 return parse(utcString, DatePattern.UTC_SIMPLE_FORMAT); + } else if (StrUtil.contains(utcString, CharUtil.DOT)){ + // 可能为: 2021-03-17T06:31:33.99 + return parse(utcString, DatePattern.UTC_SIMPLE_MS_FORMAT); } } // 没有更多匹配的时间格式 diff --git a/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java index f4654abc4..068a95063 100644 --- a/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java @@ -550,6 +550,13 @@ public class DateUtilTest { assert dt != null; dateStr = dt.toString(simpleDateFormat); Assert.assertEquals("2018-09-13 13:34:39.999", dateStr); + + // 使用UTC时区 + dateStr1 = "2018-09-13T13:34:39.99"; + dt = DateUtil.parse(dateStr1); + assert dt != null; + dateStr = dt.toString(); + Assert.assertEquals("2018-09-13 13:34:39", dateStr); } @Test diff --git a/hutool-extra/src/test/java/cn/hutool/extra/pinyin/PinyinUtilTest.java b/hutool-extra/src/test/java/cn/hutool/extra/pinyin/PinyinUtilTest.java index 5a837b813..0aa8cc1b7 100644 --- a/hutool-extra/src/test/java/cn/hutool/extra/pinyin/PinyinUtilTest.java +++ b/hutool-extra/src/test/java/cn/hutool/extra/pinyin/PinyinUtilTest.java @@ -39,6 +39,12 @@ public class PinyinUtilTest { Assert.assertEquals("h, s, d, y, g", result); } + @Test + public void getFirstLetterTest2(){ + final String result = PinyinUtil.getFirstLetter("崞阳", ", "); + Assert.assertEquals("g, y", result); + } + @Test public void getFirstLetterByPinyin4jTest(){ final Pinyin4jEngine engine = new Pinyin4jEngine(); diff --git a/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java b/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java index 618150fcc..db1954d9b 100644 --- a/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java +++ b/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java @@ -543,7 +543,7 @@ public class JSONUtil { * @see JSON#getByPath(String) */ public static Object getByPath(JSON json, String expression) { - return (null == json || StrUtil.isBlank(expression)) ? null : json.getByPath(expression); + return getByPath(json, expression, null); } /** @@ -572,7 +572,15 @@ public class JSONUtil { */ @SuppressWarnings("unchecked") public static T getByPath(JSON json, String expression, T defaultValue) { - return (T) ObjectUtil.defaultIfNull(getByPath(json, expression), defaultValue); + if((null == json || StrUtil.isBlank(expression))){ + return defaultValue; + } + + if(null != defaultValue){ + final Class type = (Class) defaultValue.getClass(); + return ObjectUtil.defaultIfNull(json.getByPath(expression, type), defaultValue); + } + return (T) json.getByPath(expression); } /** diff --git a/hutool-json/src/test/java/cn/hutool/json/IssueI3BS4S.java b/hutool-json/src/test/java/cn/hutool/json/IssueI3BS4S.java new file mode 100644 index 000000000..0844cf073 --- /dev/null +++ b/hutool-json/src/test/java/cn/hutool/json/IssueI3BS4S.java @@ -0,0 +1,27 @@ +package cn.hutool.json; + +import cn.hutool.core.bean.BeanUtil; +import lombok.Data; +import org.junit.Assert; +import org.junit.Test; + +import java.time.LocalDateTime; + +/** + * 测试带毫秒的日期转换 + */ +public class IssueI3BS4S { + + @Test + public void toBeanTest(){ + String jsonStr = "{date: '2021-03-17T06:31:33.99'}"; + final Bean1 bean1 = new Bean1(); + BeanUtil.copyProperties(JSONUtil.parseObj(jsonStr), bean1); + Assert.assertEquals("2021-03-17T06:31:33.099", bean1.getDate().toString()); + } + + @Data + public static class Bean1{ + private LocalDateTime date; + } +} diff --git a/hutool-json/src/test/java/cn/hutool/json/JSONPathTest.java b/hutool-json/src/test/java/cn/hutool/json/JSONPathTest.java index ef4698315..c3ad1281f 100644 --- a/hutool-json/src/test/java/cn/hutool/json/JSONPathTest.java +++ b/hutool-json/src/test/java/cn/hutool/json/JSONPathTest.java @@ -5,7 +5,7 @@ import org.junit.Test; /** * JSON路径单元测试 - * + * * @author looly * */ @@ -19,4 +19,12 @@ public class JSONPathTest { value = JSONUtil.parseArray(json).getByPath("[1].name"); Assert.assertEquals("mingzi", value); } + + @Test + public void getByPathTest2(){ + String str = "{'accountId':111}"; + JSON json = JSONUtil.parse(str); + Long accountId = JSONUtil.getByPath(json, "$.accountId", 0L); + Assert.assertEquals(111L, accountId.longValue()); + } } From 8e8518c8d1cd791b0c4ff45d16911aca3f30be05 Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 18 Mar 2021 21:48:14 +0800 Subject: [PATCH 18/22] fix modifier bug --- CHANGELOG.md | 2 ++ .../java/cn/hutool/core/util/IdcardUtil.java | 10 ++++++ .../cn/hutool/core/util/ModifierUtil.java | 36 +++++++++---------- .../cn/hutool/core/util/ModifierUtilTest.java | 21 +++++++++++ 4 files changed, 51 insertions(+), 18 deletions(-) create mode 100644 hutool-core/src/test/java/cn/hutool/core/util/ModifierUtilTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index ee34b8119..028a5116f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,12 +12,14 @@ * 【http 】 UserAgentUtil增加miniProgram判断(issue#1475@Github) * 【db 】 增加Ignite数据库驱动识别 * 【core 】 DateUtil.parse支持带毫秒的UTC时间 +* 【core 】 IdcardUtil.Idcard增加toString(pr#1487@Github) ### Bug修复 * 【core 】 修复IoUtil.readBytes的FileInputStream中isClose参数失效问题(issue#I3B7UD@Gitee) * 【core 】 修复DataUnit中KB不大写的问题 * 【json 】 修复JSONUtil.getByPath类型错误问题(issue#I3BSDF@Gitee) * 【core 】 修复BeanUtil.toBean提供null未返回null的问题(issue#I3BQPV@Gitee) +* 【core 】 修复ModifierUtil#modifiersToInt中逻辑判断问题(issue#1486@Github) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/cn/hutool/core/util/IdcardUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/IdcardUtil.java index ca7ca2aa8..296dcd787 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/IdcardUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/IdcardUtil.java @@ -719,5 +719,15 @@ public class IdcardUtil { public Integer getGender() { return this.gender; } + + @Override + public String toString() { + return "Idcard{" + + "provinceCode='" + provinceCode + '\'' + + ", cityCode='" + cityCode + '\'' + + ", birthDate=" + birthDate + + ", gender=" + gender + + '}'; + } } } diff --git a/hutool-core/src/main/java/cn/hutool/core/util/ModifierUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ModifierUtil.java index 54a5dcce3..669b0980a 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/ModifierUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/ModifierUtil.java @@ -7,7 +7,7 @@ import java.lang.reflect.Modifier; /** * 修饰符工具类 - * + * * @author looly * @since 4.0.5 */ @@ -15,7 +15,7 @@ public class ModifierUtil { /** * 修饰符枚举 - * + * * @author looly * @since 4.0.5 */ @@ -66,7 +66,7 @@ public class ModifierUtil { /** * 是否同时存在一个或多个修饰符(可能有多个修饰符,如果有指定的修饰符则返回true) - * + * * @param clazz 类 * @param modifierTypes 修饰符枚举 * @return 是否有指定修饰符,如果有返回true,否则false,如果提供参数为null返回false @@ -80,7 +80,7 @@ public class ModifierUtil { /** * 是否同时存在一个或多个修饰符(可能有多个修饰符,如果有指定的修饰符则返回true) - * + * * @param constructor 构造方法 * @param modifierTypes 修饰符枚举 * @return 是否有指定修饰符,如果有返回true,否则false,如果提供参数为null返回false @@ -94,7 +94,7 @@ public class ModifierUtil { /** * 是否同时存在一个或多个修饰符(可能有多个修饰符,如果有指定的修饰符则返回true) - * + * * @param method 方法 * @param modifierTypes 修饰符枚举 * @return 是否有指定修饰符,如果有返回true,否则false,如果提供参数为null返回false @@ -105,10 +105,10 @@ public class ModifierUtil { } return 0 != (method.getModifiers() & modifiersToInt(modifierTypes)); } - + /** * 是否同时存在一个或多个修饰符(可能有多个修饰符,如果有指定的修饰符则返回true) - * + * * @param field 字段 * @param modifierTypes 修饰符枚举 * @return 是否有指定修饰符,如果有返回true,否则false,如果提供参数为null返回false @@ -119,10 +119,10 @@ public class ModifierUtil { } return 0 != (field.getModifiers() & modifiersToInt(modifierTypes)); } - + /** * 是否是Public字段 - * + * * @param field 字段 * @return 是否是Public */ @@ -132,7 +132,7 @@ public class ModifierUtil { /** * 是否是Public方法 - * + * * @param method 方法 * @return 是否是Public */ @@ -142,7 +142,7 @@ public class ModifierUtil { /** * 是否是Public类 - * + * * @param clazz 类 * @return 是否是Public */ @@ -152,17 +152,17 @@ public class ModifierUtil { /** * 是否是Public构造 - * + * * @param constructor 构造 * @return 是否是Public */ public static boolean isPublic(Constructor constructor) { return hasModifier(constructor, ModifierType.PUBLIC); } - + /** * 是否是static字段 - * + * * @param field 字段 * @return 是否是static * @since 4.0.8 @@ -173,7 +173,7 @@ public class ModifierUtil { /** * 是否是static方法 - * + * * @param method 方法 * @return 是否是static * @since 4.0.8 @@ -184,7 +184,7 @@ public class ModifierUtil { /** * 是否是static类 - * + * * @param clazz 类 * @return 是否是static * @since 4.0.8 @@ -192,7 +192,7 @@ public class ModifierUtil { public static boolean isStatic(Class clazz) { return hasModifier(clazz, ModifierType.STATIC); } - + //-------------------------------------------------------------------------------------------------------- Private method start /** * 多个修饰符做“与”操作,表示同时存在多个修饰符 @@ -202,7 +202,7 @@ public class ModifierUtil { private static int modifiersToInt(ModifierType... modifierTypes) { int modifier = modifierTypes[0].getValue(); for(int i = 1; i < modifierTypes.length; i++) { - modifier &= modifierTypes[i].getValue(); + modifier |= modifierTypes[i].getValue(); } return modifier; } diff --git a/hutool-core/src/test/java/cn/hutool/core/util/ModifierUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/ModifierUtilTest.java new file mode 100644 index 000000000..a2f64945c --- /dev/null +++ b/hutool-core/src/test/java/cn/hutool/core/util/ModifierUtilTest.java @@ -0,0 +1,21 @@ +package cn.hutool.core.util; + +import org.junit.Assert; +import org.junit.Test; + +import java.lang.reflect.Method; + +public class ModifierUtilTest { + + @Test + public void hasModifierTest() throws NoSuchMethodException { + Method method = ModifierUtilTest.class.getDeclaredMethod("ddd"); + Assert.assertTrue(ModifierUtil.hasModifier(method, ModifierUtil.ModifierType.PRIVATE)); + Assert.assertTrue(ModifierUtil.hasModifier(method, + ModifierUtil.ModifierType.PRIVATE, + ModifierUtil.ModifierType.STATIC) + ); + } + private static void ddd() { + } +} From 81694dadfe1883215525c6868106f4dad0be4023 Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 18 Mar 2021 22:22:19 +0800 Subject: [PATCH 19/22] add methods --- CHANGELOG.md | 1 + .../java/cn/hutool/core/date/ChineseDate.java | 65 ++++++++++++++++++- .../cn/hutool/core/date/ChineseDateTest.java | 2 + .../cn/hutool/db/dialect/DialectFactory.java | 5 ++ 4 files changed, 72 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 028a5116f..3541afea0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ * 【db 】 增加Ignite数据库驱动识别 * 【core 】 DateUtil.parse支持带毫秒的UTC时间 * 【core 】 IdcardUtil.Idcard增加toString(pr#1487@Github) +* 【core 】 ChineseDate增加getGregorianXXX方法(issue#1481@Github) ### Bug修复 * 【core 】 修复IoUtil.readBytes的FileInputStream中isClose参数失效问题(issue#I3B7UD@Gitee) diff --git a/hutool-core/src/main/java/cn/hutool/core/date/ChineseDate.java b/hutool-core/src/main/java/cn/hutool/core/date/ChineseDate.java index 454e6c197..b9b08cd92 100644 --- a/hutool-core/src/main/java/cn/hutool/core/date/ChineseDate.java +++ b/hutool-core/src/main/java/cn/hutool/core/date/ChineseDate.java @@ -7,6 +7,7 @@ import cn.hutool.core.date.chinese.LunarFestival; import cn.hutool.core.date.chinese.LunarInfo; import cn.hutool.core.util.StrUtil; +import java.util.Calendar; import java.util.Date; @@ -151,6 +152,16 @@ public class ChineseDate { return this.year; } + /** + * 获取公历的年 + * + * @return 公历年 + * @since 5.6.1 + */ + public int getGregorianYear(){ + return this.gyear; + } + /** * 获取农历的月,从1开始计数 * @@ -161,6 +172,26 @@ public class ChineseDate { return this.month; } + /** + * 获取公历的月,从1开始计数 + * + * @return 公历月 + * @since 5.6.1 + */ + public int getGregorianMonthBase1(){ + return this.gmonth; + } + + /** + * 获取公历的月,从0开始计数 + * + * @return 公历月 + * @since 5.6.1 + */ + public int getGregorianMonth(){ + return this.gmonth -1; + } + /** * 当前农历月份是否为闰月 * @@ -200,6 +231,16 @@ public class ChineseDate { return this.day; } + /** + * 获取公历的日 + * + * @return 公历日 + * @since 5.6.1 + */ + public int getGregorianDay(){ + return this.gday; + } + /** * 获得农历日 * @@ -223,6 +264,28 @@ public class ChineseDate { } } + /** + * 获取公历的Date + * + * @return 公历Date + * @since 5.6.1 + */ + public Date getGregorianDate(){ + return DateUtil.date(getGregorianCalendar()); + } + + /** + * 获取公历的Calendar + * + * @return 公历Calendar + * @since 5.6.1 + */ + public Calendar getGregorianCalendar(){ + final Calendar calendar = CalendarUtil.calendar(); + //noinspection MagicConstant + calendar.set(this.gyear, getGregorianMonth(), this.gday, 0, 0, 0); + return calendar; + } /** * 获得节日 @@ -347,4 +410,4 @@ public class ChineseDate { // ------------------------------------------------------- private method end -} \ No newline at end of file +} diff --git a/hutool-core/src/test/java/cn/hutool/core/date/ChineseDateTest.java b/hutool-core/src/test/java/cn/hutool/core/date/ChineseDateTest.java index 54c50dd37..b360389bf 100644 --- a/hutool-core/src/test/java/cn/hutool/core/date/ChineseDateTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/date/ChineseDateTest.java @@ -9,6 +9,7 @@ public class ChineseDateTest { @Test public void chineseDateTest() { ChineseDate date = new ChineseDate(DateUtil.parseDate("2020-01-25")); + Assert.assertEquals("2020-01-25 00:00:00", date.getGregorianDate().toString()); Assert.assertEquals(2020, date.getChineseYear()); Assert.assertEquals(1, date.getMonth()); @@ -50,6 +51,7 @@ public class ChineseDateTest { @Test public void getChineseMonthTest(){ ChineseDate chineseDate = new ChineseDate(2020,6,15); + Assert.assertEquals("2020-08-04 00:00:00", chineseDate.getGregorianDate().toString()); Assert.assertEquals("六月", chineseDate.getChineseMonth()); chineseDate = new ChineseDate(2020,4,15); diff --git a/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java b/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java index f7d4c9b26..0140ac43c 100644 --- a/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java +++ b/hutool-db/src/main/java/cn/hutool/db/dialect/DialectFactory.java @@ -54,6 +54,8 @@ public class DialectFactory { public static final String DRIVER_KINGBASE8 = "com.kingbase8.Driver"; /** JDBC 驱动 Ignite thin */ public static final String DRIVER_IGNITE_THIN = "org.apache.ignite.IgniteJdbcThinDriver"; + /** JDBC 驱动 ClickHouse */ + public static final String DRIVER_CLICK_HOUSE = "ru.yandex.clickhouse.ClickHouseDriver"; private static final Map DIALECT_POOL = new ConcurrentHashMap<>(); @@ -143,6 +145,9 @@ public class DialectFactory { } else if (nameContainsProductInfo.contains("ignite")) { // Ignite thin driver = DRIVER_IGNITE_THIN; + } else if (nameContainsProductInfo.contains("clickhouse")) { + // ClickHouse + driver = DRIVER_CLICK_HOUSE; } return driver; From 3e49a8a1f90bd45d553c97448afc50e6fd1fe86b Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 18 Mar 2021 22:27:55 +0800 Subject: [PATCH 20/22] add pic --- README-EN.md | 8 ++++++-- README.md | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/README-EN.md b/README-EN.md index ff5c8482f..6c34639fe 100644 --- a/README-EN.md +++ b/README-EN.md @@ -199,6 +199,10 @@ If you think Hutool is good, you can donate to buy tshe author a pack of chili~, ## WeChat Official Account -Welcome to the official account of Hutool cooperation. +#### Welcome to the official account of Hutool cooperation. -![Java2B](https://cdn.jsdelivr.net/gh/looly/hutool-site/images/qrcode.jpg) \ No newline at end of file +![Java2B](https://cdn.jsdelivr.net/gh/looly/hutool-site/images/qrcode.jpg) + +#### Welcome to organization Dromara + +![Dromara](https://dromara.org/img/qrcode/qrcode_1.png) \ No newline at end of file diff --git a/README.md b/README.md index 1d6202112..933f0c55b 100644 --- a/README.md +++ b/README.md @@ -207,6 +207,10 @@ Hutool欢迎任何人为Hutool添砖加瓦,贡献代码,不过维护者是 ## 公众号 -欢迎关注Hutool合作的公众号。 +#### 欢迎关注Hutool合作的公众号 -![Java2B](https://cdn.jsdelivr.net/gh/looly/hutool-site/images/qrcode.jpg) \ No newline at end of file +![Java2B](https://cdn.jsdelivr.net/gh/looly/hutool-site/images/qrcode.jpg) + +#### Dromara开源组织公众号 + +![Dromara](https://dromara.org/img/qrcode/qrcode_1.png) \ No newline at end of file From e55aa6b1874f3ef2a809e6d1a8e867a2094a71e9 Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 18 Mar 2021 22:50:18 +0800 Subject: [PATCH 21/22] release 5.6.1 --- hutool-all/pom.xml | 2 +- hutool-aop/pom.xml | 2 +- hutool-bloomFilter/pom.xml | 2 +- hutool-bom/pom.xml | 2 +- hutool-cache/pom.xml | 2 +- hutool-captcha/pom.xml | 2 +- hutool-core/pom.xml | 2 +- hutool-cron/pom.xml | 2 +- hutool-crypto/pom.xml | 2 +- hutool-db/pom.xml | 2 +- hutool-dfa/pom.xml | 2 +- hutool-extra/pom.xml | 2 +- hutool-http/pom.xml | 2 +- hutool-json/pom.xml | 2 +- hutool-log/pom.xml | 2 +- hutool-poi/pom.xml | 2 +- hutool-script/pom.xml | 2 +- hutool-setting/pom.xml | 2 +- hutool-socket/pom.xml | 2 +- hutool-system/pom.xml | 2 +- pom.xml | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/hutool-all/pom.xml b/hutool-all/pom.xml index a51cb146e..16df0a378 100644 --- a/hutool-all/pom.xml +++ b/hutool-all/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-all diff --git a/hutool-aop/pom.xml b/hutool-aop/pom.xml index ed00a6009..0b02dc405 100644 --- a/hutool-aop/pom.xml +++ b/hutool-aop/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-aop diff --git a/hutool-bloomFilter/pom.xml b/hutool-bloomFilter/pom.xml index 1918f9e0a..f6790daec 100644 --- a/hutool-bloomFilter/pom.xml +++ b/hutool-bloomFilter/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-bloomFilter diff --git a/hutool-bom/pom.xml b/hutool-bom/pom.xml index 5461fdbfe..b1db4b19a 100644 --- a/hutool-bom/pom.xml +++ b/hutool-bom/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-bom diff --git a/hutool-cache/pom.xml b/hutool-cache/pom.xml index 2b665f432..f1642f449 100644 --- a/hutool-cache/pom.xml +++ b/hutool-cache/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-cache diff --git a/hutool-captcha/pom.xml b/hutool-captcha/pom.xml index 9e02e6cea..ee1d7cadb 100644 --- a/hutool-captcha/pom.xml +++ b/hutool-captcha/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-captcha diff --git a/hutool-core/pom.xml b/hutool-core/pom.xml index 762423671..7648fe880 100644 --- a/hutool-core/pom.xml +++ b/hutool-core/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-core diff --git a/hutool-cron/pom.xml b/hutool-cron/pom.xml index 6081a0088..58fa2e869 100644 --- a/hutool-cron/pom.xml +++ b/hutool-cron/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-cron diff --git a/hutool-crypto/pom.xml b/hutool-crypto/pom.xml index ca8ac96ce..b294a7e4d 100644 --- a/hutool-crypto/pom.xml +++ b/hutool-crypto/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-crypto diff --git a/hutool-db/pom.xml b/hutool-db/pom.xml index 0f96ae000..52a4fc069 100644 --- a/hutool-db/pom.xml +++ b/hutool-db/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-db diff --git a/hutool-dfa/pom.xml b/hutool-dfa/pom.xml index 685dda618..98daa1ebf 100644 --- a/hutool-dfa/pom.xml +++ b/hutool-dfa/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-dfa diff --git a/hutool-extra/pom.xml b/hutool-extra/pom.xml index 771a6d14e..7579cc604 100644 --- a/hutool-extra/pom.xml +++ b/hutool-extra/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-extra diff --git a/hutool-http/pom.xml b/hutool-http/pom.xml index 4f5a622ec..93acfdc5b 100644 --- a/hutool-http/pom.xml +++ b/hutool-http/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-http diff --git a/hutool-json/pom.xml b/hutool-json/pom.xml index e495e356a..fea3d9016 100644 --- a/hutool-json/pom.xml +++ b/hutool-json/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-json diff --git a/hutool-log/pom.xml b/hutool-log/pom.xml index 98414611b..8bfa8e6d6 100644 --- a/hutool-log/pom.xml +++ b/hutool-log/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-log diff --git a/hutool-poi/pom.xml b/hutool-poi/pom.xml index f95deddd8..894f2b5e0 100644 --- a/hutool-poi/pom.xml +++ b/hutool-poi/pom.xml @@ -8,7 +8,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-poi diff --git a/hutool-script/pom.xml b/hutool-script/pom.xml index 504b601da..d741ebbee 100644 --- a/hutool-script/pom.xml +++ b/hutool-script/pom.xml @@ -8,7 +8,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-script diff --git a/hutool-setting/pom.xml b/hutool-setting/pom.xml index 18bd9badd..ef3860f70 100644 --- a/hutool-setting/pom.xml +++ b/hutool-setting/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-setting diff --git a/hutool-socket/pom.xml b/hutool-socket/pom.xml index ebb97b07d..ed7e72cff 100644 --- a/hutool-socket/pom.xml +++ b/hutool-socket/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-socket diff --git a/hutool-system/pom.xml b/hutool-system/pom.xml index b050995b4..7758e8a5b 100644 --- a/hutool-system/pom.xml +++ b/hutool-system/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool-system diff --git a/pom.xml b/pom.xml index bf536162b..d663b6a2d 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ cn.hutool hutool-parent - 5.6.1-SNAPSHOT + 5.6.1 hutool Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 https://github.com/looly/hutool From 91b1dd39c3ca8b93f6902d23210b3b95c7fba918 Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 18 Mar 2021 23:07:14 +0800 Subject: [PATCH 22/22] prepare 5.6.2 --- CHANGELOG.md | 7 +++++++ README-EN.md | 8 ++++---- README.md | 6 +++--- bin/version.txt | 2 +- docs/js/version.js | 2 +- hutool-all/pom.xml | 2 +- hutool-aop/pom.xml | 2 +- hutool-bloomFilter/pom.xml | 2 +- hutool-bom/pom.xml | 2 +- hutool-cache/pom.xml | 2 +- hutool-captcha/pom.xml | 2 +- hutool-core/pom.xml | 2 +- hutool-cron/pom.xml | 2 +- hutool-crypto/pom.xml | 2 +- hutool-db/pom.xml | 2 +- hutool-dfa/pom.xml | 2 +- hutool-extra/pom.xml | 2 +- hutool-http/pom.xml | 2 +- hutool-json/pom.xml | 2 +- hutool-log/pom.xml | 2 +- hutool-poi/pom.xml | 2 +- hutool-script/pom.xml | 2 +- hutool-setting/pom.xml | 2 +- hutool-socket/pom.xml | 2 +- hutool-system/pom.xml | 2 +- pom.xml | 2 +- 26 files changed, 37 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3541afea0..c2124f377 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ ------------------------------------------------------------------------------------------------------------- +# 5.6.2 (2021-03-18) + +### 新特性 +### Bug修复 + +------------------------------------------------------------------------------------------------------------- + # 5.6.1 (2021-03-18) ### 新特性 diff --git a/README-EN.md b/README-EN.md index 6c34639fe..00ced6f76 100644 --- a/README-EN.md +++ b/README-EN.md @@ -125,19 +125,19 @@ Each module can be introduced individually, or all modules can be introduced by cn.hutool hutool-all - 5.6.1 + 5.6.2 ``` ### Gradle ``` -compile 'cn.hutool:hutool-all:5.6.1' +compile 'cn.hutool:hutool-all:5.6.2' ``` ## Download -- [Maven1](https://repo1.maven.org/maven2/cn/hutool/hutool-all/5.6.1/) -- [Maven2](http://repo2.maven.org/maven2/cn/hutool/hutool-all/5.6.1/) +- [Maven1](https://repo1.maven.org/maven2/cn/hutool/hutool-all/5.6.2/) +- [Maven2](http://repo2.maven.org/maven2/cn/hutool/hutool-all/5.6.2/) > note: > Hutool 5.x supports JDK8+ and is not tested on Android platforms, and cannot guarantee that all tool classes or tool methods are available. diff --git a/README.md b/README.md index 933f0c55b..2ee679ae9 100644 --- a/README.md +++ b/README.md @@ -123,20 +123,20 @@ Hutool的存在就是为了减少代码搜索成本,避免网络上参差不 cn.hutool hutool-all - 5.6.1 + 5.6.2 ``` ### Gradle ``` -compile 'cn.hutool:hutool-all:5.6.1' +compile 'cn.hutool:hutool-all:5.6.2' ``` ### 非Maven项目 点击以下任一链接,下载`hutool-all-X.X.X.jar`即可: -- [Maven中央库](https://repo1.maven.org/maven2/cn/hutool/hutool-all/5.6.1/) +- [Maven中央库](https://repo1.maven.org/maven2/cn/hutool/hutool-all/5.6.2/) > 注意 > Hutool 5.x支持JDK8+,对Android平台没有测试,不能保证所有工具类或工具方法可用。 diff --git a/bin/version.txt b/bin/version.txt index b7c75422b..d6a86bf43 100755 --- a/bin/version.txt +++ b/bin/version.txt @@ -1 +1 @@ -5.6.1 +5.6.2 diff --git a/docs/js/version.js b/docs/js/version.js index 7a15b7864..80f1a26a5 100644 --- a/docs/js/version.js +++ b/docs/js/version.js @@ -1 +1 @@ -var version = '5.6.1' \ No newline at end of file +var version = '5.6.2' \ No newline at end of file diff --git a/hutool-all/pom.xml b/hutool-all/pom.xml index 16df0a378..6a23f4092 100644 --- a/hutool-all/pom.xml +++ b/hutool-all/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-all diff --git a/hutool-aop/pom.xml b/hutool-aop/pom.xml index 0b02dc405..2fb47dbec 100644 --- a/hutool-aop/pom.xml +++ b/hutool-aop/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-aop diff --git a/hutool-bloomFilter/pom.xml b/hutool-bloomFilter/pom.xml index f6790daec..8260b74a2 100644 --- a/hutool-bloomFilter/pom.xml +++ b/hutool-bloomFilter/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-bloomFilter diff --git a/hutool-bom/pom.xml b/hutool-bom/pom.xml index b1db4b19a..10ee09d92 100644 --- a/hutool-bom/pom.xml +++ b/hutool-bom/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-bom diff --git a/hutool-cache/pom.xml b/hutool-cache/pom.xml index f1642f449..23d62a160 100644 --- a/hutool-cache/pom.xml +++ b/hutool-cache/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-cache diff --git a/hutool-captcha/pom.xml b/hutool-captcha/pom.xml index ee1d7cadb..694428386 100644 --- a/hutool-captcha/pom.xml +++ b/hutool-captcha/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-captcha diff --git a/hutool-core/pom.xml b/hutool-core/pom.xml index 7648fe880..f48f5fbdd 100644 --- a/hutool-core/pom.xml +++ b/hutool-core/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-core diff --git a/hutool-cron/pom.xml b/hutool-cron/pom.xml index 58fa2e869..ea4a158ed 100644 --- a/hutool-cron/pom.xml +++ b/hutool-cron/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-cron diff --git a/hutool-crypto/pom.xml b/hutool-crypto/pom.xml index b294a7e4d..3d437ae3c 100644 --- a/hutool-crypto/pom.xml +++ b/hutool-crypto/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-crypto diff --git a/hutool-db/pom.xml b/hutool-db/pom.xml index 52a4fc069..32d7bad59 100644 --- a/hutool-db/pom.xml +++ b/hutool-db/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-db diff --git a/hutool-dfa/pom.xml b/hutool-dfa/pom.xml index 98daa1ebf..457463940 100644 --- a/hutool-dfa/pom.xml +++ b/hutool-dfa/pom.xml @@ -7,7 +7,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-dfa diff --git a/hutool-extra/pom.xml b/hutool-extra/pom.xml index 7579cc604..9b45cac4d 100644 --- a/hutool-extra/pom.xml +++ b/hutool-extra/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-extra diff --git a/hutool-http/pom.xml b/hutool-http/pom.xml index 93acfdc5b..d4dacd2b4 100644 --- a/hutool-http/pom.xml +++ b/hutool-http/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-http diff --git a/hutool-json/pom.xml b/hutool-json/pom.xml index fea3d9016..0073c79ed 100644 --- a/hutool-json/pom.xml +++ b/hutool-json/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-json diff --git a/hutool-log/pom.xml b/hutool-log/pom.xml index 8bfa8e6d6..e71e2655b 100644 --- a/hutool-log/pom.xml +++ b/hutool-log/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-log diff --git a/hutool-poi/pom.xml b/hutool-poi/pom.xml index 894f2b5e0..eb0e66f81 100644 --- a/hutool-poi/pom.xml +++ b/hutool-poi/pom.xml @@ -8,7 +8,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-poi diff --git a/hutool-script/pom.xml b/hutool-script/pom.xml index d741ebbee..81d6bef8d 100644 --- a/hutool-script/pom.xml +++ b/hutool-script/pom.xml @@ -8,7 +8,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-script diff --git a/hutool-setting/pom.xml b/hutool-setting/pom.xml index ef3860f70..169523f44 100644 --- a/hutool-setting/pom.xml +++ b/hutool-setting/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-setting diff --git a/hutool-socket/pom.xml b/hutool-socket/pom.xml index ed7e72cff..b22e314cf 100644 --- a/hutool-socket/pom.xml +++ b/hutool-socket/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-socket diff --git a/hutool-system/pom.xml b/hutool-system/pom.xml index 7758e8a5b..b8020dafb 100644 --- a/hutool-system/pom.xml +++ b/hutool-system/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool-system diff --git a/pom.xml b/pom.xml index d663b6a2d..419f5f865 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ cn.hutool hutool-parent - 5.6.1 + 5.6.2-SNAPSHOT hutool Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 https://github.com/looly/hutool