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 】 IterUtil增加firstMatch方法
* 【core 】 增加NanoId
* 【core 】 MapBuilder增加put方法pr#367@Gitee
### 🐞Bug修复
* 【core 】 修复FileUtil.normalize处理上级路径的问题issue#I3YPEH@Gitee

View File

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

View File

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