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
- *
+ *
* 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.
-
\ No newline at end of file
+
+
+#### Welcome to organization Dromara
+
+
\ 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合作的公众号
-
\ No newline at end of file
+
+
+#### Dromara开源组织公众号
+
+
\ 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