add emptyIfNull

This commit is contained in:
Looly 2019-08-21 16:12:06 +08:00
parent d5076d9b33
commit 2f2c9e58d2
5 changed files with 103 additions and 55 deletions

View File

@ -8,6 +8,7 @@
### 新特性 ### 新特性
* 【core】 改进CollUtil.zip逻辑减少内存复制issue#I10T01@Gitee * 【core】 改进CollUtil.zip逻辑减少内存复制issue#I10T01@Gitee
* 【extra】 邮件增加图片支持pr#495@Github * 【extra】 邮件增加图片支持pr#495@Github
* 【core】 MapUtil、CollUtil增加emptyIfNullissue#502@Github
### Bug修复 ### Bug修复
* 【http】 修复HttpRquest中body方法长度计算问题issue#I10UPG@Gitee * 【http】 修复HttpRquest中body方法长度计算问题issue#I10UPG@Gitee

View File

@ -60,6 +60,32 @@ import cn.hutool.core.util.TypeUtil;
*/ */
public class CollUtil { public class CollUtil {
/**
* 如果提供的集合为{@code null}返回一个不可变的默认空集合否则返回原集合<br>
* 空集合使用{@link Collections#emptySet()}
*
* @param <T> 集合元素类型
* @param set 提供的集合可能为null
* @return 原集合若为null返回空集合
* @since 4.6.3
*/
public static <T> Set<T> emptyIfNull(Set<T> set) {
return (null == set) ? Collections.<T>emptySet() : set;
}
/**
* 如果提供的集合为{@code null}返回一个不可变的默认空集合否则返回原集合<br>
* 空集合使用{@link Collections#emptyList()}
*
* @param <T> 集合元素类型
* @param set 提供的集合可能为null
* @return 原集合若为null返回空集合
* @since 4.6.3
*/
public static <T> List<T> emptyIfNull(List<T> set) {
return (null == set) ? Collections.<T>emptyList() : set;
}
/** /**
* 两个集合的并集<br> * 两个集合的并集<br>
* 针对一个集合中存在多个相同元素的情况计算两个集合中此元素的个数保留最多的个数<br> * 针对一个集合中存在多个相同元素的情况计算两个集合中此元素的个数保留最多的个数<br>

View File

@ -31,6 +31,17 @@ public class DateTime extends Date {
/** 时区 */ /** 时区 */
private TimeZone timeZone; private TimeZone timeZone;
/**
* 转换时间戳为 DateTime
*
* @param timeMillis 时间戳毫秒数
* @return DateTime
* @since 4.6.3
*/
public static DateTime of(long timeMillis) {
return new DateTime(timeMillis);
}
/** /**
* 转换JDK date为 DateTime * 转换JDK date为 DateTime
* *

View File

@ -2,6 +2,7 @@ package cn.hutool.core.map;
import java.util.AbstractMap; import java.util.AbstractMap;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
@ -57,6 +58,19 @@ public class MapUtil {
return null != map && false == map.isEmpty(); return null != map && false == map.isEmpty();
} }
/**
* 如果提供的集合为{@code null}返回一个不可变的默认空集合否则返回原集合<br>
* 空集合使用{@link Collections#emptyMap()}
*
* @param <T> 集合元素类型
* @param set 提供的集合可能为null
* @return 原集合若为null返回空集合
* @since 4.6.3
*/
public static <K, V> Map<K, V> emptyIfNull(Map<K, V> set) {
return (null == set) ? Collections.<K, V>emptyMap() : set;
}
// ----------------------------------------------------------------------------------------------- new HashMap // ----------------------------------------------------------------------------------------------- new HashMap
/** /**
* 新建一个HashMap * 新建一个HashMap
@ -204,11 +218,7 @@ public class MapUtil {
* </pre> * </pre>
* *
* <pre> * <pre>
* Map&lt;Object, Object&gt; colorMap = MapUtil.of(new String[][] { * Map&lt;Object, Object&gt; colorMap = MapUtil.of(new String[][] { { "RED", "#FF0000" }, { "GREEN", "#00FF00" }, { "BLUE", "#0000FF" } });
* {"RED", "#FF0000"},
* {"GREEN", "#00FF00"},
* {"BLUE", "#0000FF"}
* });
* </pre> * </pre>
* *
* 参考commons-lang * 参考commons-lang