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;
@ -31,8 +31,8 @@ public class MapBuilder<K, V> implements Serializable{
/** /**
* 创建Builder * 创建Builder
* *
* @param <K> Key类型 * @param <K> Key类型
* @param <V> Value类型 * @param <V> Value类型
* @param isLinked true创建LinkedHashMapfalse创建HashMap * @param isLinked true创建LinkedHashMapfalse创建HashMap
* @return MapBuilder * @return MapBuilder
* @since 5.3.0 * @since 5.3.0
@ -78,14 +78,27 @@ public class MapBuilder<K, V> implements Serializable{
/** /**
* 链式Map创建 * 链式Map创建
* *
* @param condition put条件 * @param k Key类型
* @param k Key类型 * @param supplier Value类型结果提供方
* @param v Value类型
* @return 当前类 * @return 当前类
* @since 5.7.5
*/
public MapBuilder<K, V> put(K k, Supplier<V> supplier) {
return put(k, supplier.get());
}
/**
* 链式Map创建
*
* @param condition put条件
* @param k Key类型
* @param v Value类型
* @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;
} }
@ -94,13 +107,14 @@ public class MapBuilder<K, V> implements Serializable{
* 链式Map创建 * 链式Map创建
* *
* @param condition put条件 * @param condition put条件
* @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;
} }
@ -138,7 +152,7 @@ public class MapBuilder<K, V> implements Serializable{
/** /**
* 将map转成字符串 * 将map转成字符串
* *
* @param separator entry之间的连接符 * @param separator entry之间的连接符
* @param keyValueSeparator kv之间的连接符 * @param keyValueSeparator kv之间的连接符
* @return 连接字符串 * @return 连接字符串
*/ */
@ -149,7 +163,7 @@ public class MapBuilder<K, V> implements Serializable{
/** /**
* 将map转成字符串 * 将map转成字符串
* *
* @param separator entry之间的连接符 * @param separator entry之间的连接符
* @param keyValueSeparator kv之间的连接符 * @param keyValueSeparator kv之间的连接符
* @return 连接后的字符串 * @return 连接后的字符串
*/ */
@ -160,9 +174,9 @@ public class MapBuilder<K, V> implements Serializable{
/** /**
* 将map转成字符串 * 将map转成字符串
* *
* @param separator entry之间的连接符 * @param separator entry之间的连接符
* @param keyValueSeparator kv之间的连接符 * @param keyValueSeparator kv之间的连接符
* @param isIgnoreNull 是否忽略null的键和值 * @param isIgnoreNull 是否忽略null的键和值
* @return 连接后的字符串 * @return 连接后的字符串
*/ */
public String join(String separator, final String keyValueSeparator, boolean isIgnoreNull) { public String join(String separator, final String keyValueSeparator, boolean isIgnoreNull) {

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);
} }
} }