mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
add put method
This commit is contained in:
parent
3dc6b87333
commit
d01e8b11bb
@ -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)
|
||||
|
@ -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创建LinkedHashMap,false创建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) {
|
||||
|
@ -23,7 +23,6 @@ public class MapBuilderTest {
|
||||
}
|
||||
|
||||
public String getValue(int value) {
|
||||
System.out.println("getValue: " + value);
|
||||
return String.valueOf(value);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user