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

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