This commit is contained in:
Looly 2022-09-21 18:38:53 +08:00
parent eef7943d8a
commit 474c90bdb1
6 changed files with 18 additions and 11 deletions

View File

@ -618,6 +618,7 @@ public class LocalDateTimeUtil {
* 通过includeBegin, includeEnd参数控制时间范围区间是否为开区间例如传入参数includeBegin=true, includeEnd=false * 通过includeBegin, includeEnd参数控制时间范围区间是否为开区间例如传入参数includeBegin=true, includeEnd=false
* 则本方法会判断 date (beginDate, endDate] 是否成立 * 则本方法会判断 date (beginDate, endDate] 是否成立
* *
* @param date 被判定的日期
* @param beginDate 起始时间包含 * @param beginDate 起始时间包含
* @param endDate 结束时间包含 * @param endDate 结束时间包含
* @param includeBegin 时间范围是否包含起始时间 * @param includeBegin 时间范围是否包含起始时间

View File

@ -164,8 +164,9 @@ public class TreeBuilder<E> implements Builder<Tree<E>> {
/** /**
* 增加节点列表增加的节点是不带子节点的 * 增加节点列表增加的节点是不带子节点的
* *
* @param list Bean列表
* @param <T> Bean类型 * @param <T> Bean类型
* @param list Bean列表
* @param rootId 根ID
* @param nodeParser 节点转换器用于定义一个Bean如何转换为Tree节点 * @param nodeParser 节点转换器用于定义一个Bean如何转换为Tree节点
* @return this * @return this
* @since 5.8.6 * @since 5.8.6

View File

@ -247,9 +247,9 @@ public class MapUtil {
if (null == mapType || mapType.isAssignableFrom(AbstractMap.class)) { if (null == mapType || mapType.isAssignableFrom(AbstractMap.class)) {
return new HashMap<>(); return new HashMap<>();
} else { } else {
try{ try {
return (Map<K, V>) ReflectUtil.newInstance(mapType); return (Map<K, V>) ReflectUtil.newInstance(mapType);
}catch (UtilException e){ } catch (UtilException e) {
// 不支持的map类型返回默认的HashMap // 不支持的map类型返回默认的HashMap
return new HashMap<>(); return new HashMap<>();
} }
@ -735,7 +735,7 @@ public class MapUtil {
if (null == map || null == biFunction) { if (null == map || null == biFunction) {
return MapUtil.newHashMap(); return MapUtil.newHashMap();
} }
return map.entrySet().stream().collect(CollectorUtil.toMap(Map.Entry::getKey, m -> biFunction.apply(m.getKey(), m.getValue()),(l,r)->l)); return map.entrySet().stream().collect(CollectorUtil.toMap(Map.Entry::getKey, m -> biFunction.apply(m.getKey(), m.getValue()), (l, r) -> l));
} }
/** /**
@ -1469,11 +1469,16 @@ public class MapUtil {
* A temporary workaround for Java 8 specific performance issue JDK-8161372 .<br> * A temporary workaround for Java 8 specific performance issue JDK-8161372 .<br>
* This class should be removed once we drop Java 8 support. * This class should be removed once we drop Java 8 support.
* *
* @param <K> 键类型
* @param <V> 值类型
* @param map Map
* @param key
* @param mappingFunction 值不存在时值的生成函数
* @see <a href="https://bugs.openjdk.java.net/browse/JDK-8161372">https://bugs.openjdk.java.net/browse/JDK-8161372</a> * @see <a href="https://bugs.openjdk.java.net/browse/JDK-8161372">https://bugs.openjdk.java.net/browse/JDK-8161372</a>
*/ */
public static <K, V> V computeIfAbsent(Map<K, V> map, K key, Function<? super K, ? extends V> mappingFunction) { public static <K, V> V computeIfAbsent(Map<K, V> map, K key, Function<? super K, ? extends V> mappingFunction) {
V value = map.get(key); V value = map.get(key);
if(null == value){ if (null == value) {
map.putIfAbsent(key, mappingFunction.apply(key)); map.putIfAbsent(key, mappingFunction.apply(key));
value = map.get(key); value = map.get(key);
} }

View File

@ -249,6 +249,8 @@ public class EnumUtil {
/** /**
* 通过 某字段对应值 获取 枚举获取不到时为 {@code defaultEnum} * 通过 某字段对应值 获取 枚举获取不到时为 {@code defaultEnum}
* *
* @param <E> 枚举类型
* @param <C> 字段类型
* @param condition 条件字段 * @param condition 条件字段
* @param value 条件字段值 * @param value 条件字段值
* @param defaultEnum 条件找不到则返回结果使用这个 * @param defaultEnum 条件找不到则返回结果使用这个

View File

@ -269,7 +269,6 @@ public class ModifierUtil {
* 设置final的field字段可以被修改 * 设置final的field字段可以被修改
* <p> * <p>
* 只要不会被编译器内联优化的 final 属性就可以通过反射有效的进行修改 -- 修改后代码中可使用到新的值; * 只要不会被编译器内联优化的 final 属性就可以通过反射有效的进行修改 -- 修改后代码中可使用到新的值;
* <br/>
* <h3>以下属性编译器会内联优化无法通过反射修改</h3> * <h3>以下属性编译器会内联优化无法通过反射修改</h3>
* <ul> * <ul>
* <li> 基本类型 byte, char, short, int, long, float, double, boolean</li> * <li> 基本类型 byte, char, short, int, long, float, double, boolean</li>
@ -282,13 +281,13 @@ public class ModifierUtil {
* <li>自定义java类</li> * <li>自定义java类</li>
* </ul> * </ul>
* </p> * </p>
* <code> * <pre class="code">
* //示例移除final修饰符 * //示例移除final修饰符
* class JdbcDialects {private static final List<Number> dialects = new ArrayList<>();} * class JdbcDialects {private static final List<Number> dialects = new ArrayList<>();}
* Field field = ReflectUtil.getField(JdbcDialects.class, fieldName); * Field field = ReflectUtil.getField(JdbcDialects.class, fieldName);
* ReflectUtil.removeFinalModify(field); * ReflectUtil.removeFinalModify(field);
* ReflectUtil.setFieldValue(JdbcDialects.class, fieldName, dialects); * ReflectUtil.setFieldValue(JdbcDialects.class, fieldName, dialects);
* </code> * </pre>
* @param field 被修改的field不可以为空 * @param field 被修改的field不可以为空
* @throws UtilException IllegalAccessException等异常包装 * @throws UtilException IllegalAccessException等异常包装
* @since 5.8.8 * @since 5.8.8

View File

@ -1114,7 +1114,6 @@ public class ReflectUtil {
* 设置final的field字段可以被修改 * 设置final的field字段可以被修改
* <p> * <p>
* 只要不会被编译器内联优化的 final 属性就可以通过反射有效的进行修改 -- 修改后代码中可使用到新的值; * 只要不会被编译器内联优化的 final 属性就可以通过反射有效的进行修改 -- 修改后代码中可使用到新的值;
* <br/>
* <h3>以下属性编译器会内联优化无法通过反射修改</h3> * <h3>以下属性编译器会内联优化无法通过反射修改</h3>
* <ul> * <ul>
* <li> 基本类型 byte, char, short, int, long, float, double, boolean</li> * <li> 基本类型 byte, char, short, int, long, float, double, boolean</li>
@ -1127,13 +1126,13 @@ public class ReflectUtil {
* <li>自定义java类</li> * <li>自定义java类</li>
* </ul> * </ul>
* </p> * </p>
* <code> * <pre class="code">
* //示例移除final修饰符 * //示例移除final修饰符
* class JdbcDialects {private static final List<Number> dialects = new ArrayList<>();} * class JdbcDialects {private static final List<Number> dialects = new ArrayList<>();}
* Field field = ReflectUtil.getField(JdbcDialects.class, fieldName); * Field field = ReflectUtil.getField(JdbcDialects.class, fieldName);
* ReflectUtil.removeFinalModify(field); * ReflectUtil.removeFinalModify(field);
* ReflectUtil.setFieldValue(JdbcDialects.class, fieldName, dialects); * ReflectUtil.setFieldValue(JdbcDialects.class, fieldName, dialects);
* </code> * </pre>
* @param field 被修改的field不可以为空 * @param field 被修改的field不可以为空
* @throws UtilException IllegalAccessException等异常包装 * @throws UtilException IllegalAccessException等异常包装
* @since 5.8.8 * @since 5.8.8