add put method

This commit is contained in:
Looly 2021-07-14 09:33:28 +08:00
parent 3dc6b87333
commit d01e8b11bb
3 changed files with 30 additions and 16 deletions

View File

@ -3,12 +3,13 @@
------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------
# 5.7.5 (2021-07-12) # 5.7.5 (2021-07-14)
### 🐣新特性 ### 🐣新特性
* 【core 】 DateUtil增加ceiling重载可选是否归零毫秒 * 【core 】 DateUtil增加ceiling重载可选是否归零毫秒
* 【core 】 IterUtil增加firstMatch方法 * 【core 】 IterUtil增加firstMatch方法
* 【core 】 增加NanoId * 【core 】 增加NanoId
* 【core 】 MapBuilder增加put方法pr#367@Gitee
### 🐞Bug修复 ### 🐞Bug修复
* 【core 】 修复FileUtil.normalize处理上级路径的问题issue#I3YPEH@Gitee * 【core 】 修复FileUtil.normalize处理上级路径的问题issue#I3YPEH@Gitee

View File

@ -11,7 +11,7 @@ import java.util.function.Supplier;
* @param <V> Value类型 * @param <V> Value类型
* @since 3.1.1 * @since 3.1.1
*/ */
public class MapBuilder<K, V> implements Serializable{ public class MapBuilder<K, V> implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final Map<K, V> map; private final Map<K, V> map;
@ -75,6 +75,18 @@ public class MapBuilder<K, V> implements Serializable{
return this; return this;
} }
/**
* 链式Map创建
*
* @param k Key类型
* @param supplier Value类型结果提供方
* @return 当前类
* @since 5.7.5
*/
public MapBuilder<K, V> put(K k, Supplier<V> supplier) {
return put(k, supplier.get());
}
/** /**
* 链式Map创建 * 链式Map创建
* *
@ -82,10 +94,11 @@ public class MapBuilder<K, V> implements Serializable{
* @param k Key类型 * @param k Key类型
* @param v Value类型 * @param v Value类型
* @return 当前类 * @return 当前类
* @since 5.7.5
*/ */
public MapBuilder<K, V> put(boolean condition, K k, V v) { public MapBuilder<K, V> put(boolean condition, K k, V v) {
if (condition) { if (condition) {
map.put(k, v); put(k, v);
} }
return this; return this;
} }
@ -97,10 +110,11 @@ public class MapBuilder<K, V> implements Serializable{
* @param k Key类型 * @param k Key类型
* @param supplier Value类型结果提供方 * @param supplier Value类型结果提供方
* @return 当前类 * @return 当前类
* @since 5.7.5
*/ */
public MapBuilder<K, V> put(boolean condition, K k, Supplier<V> supplier) { public MapBuilder<K, V> put(boolean condition, K k, Supplier<V> supplier) {
if (condition) { if (condition) {
map.put(k, supplier.get()); put(k, supplier);
} }
return this; return this;
} }

View File

@ -23,7 +23,6 @@ public class MapBuilderTest {
} }
public String getValue(int value) { public String getValue(int value) {
System.out.println("getValue: " + value);
return String.valueOf(value); return String.valueOf(value);
} }
} }