(), isToUnderlineCase, ignoreNullValue);
+ return beanToMap(bean, new LinkedHashMap<>(), isToUnderlineCase, ignoreNullValue);
}
/**
* 对象转Map
*
- * @param bean bean对象
- * @param targetMap 目标的Map
+ * @param bean bean对象
+ * @param targetMap 目标的Map
* @param isToUnderlineCase 是否转换为下划线模式
- * @param ignoreNullValue 是否忽略值为空的字段
+ * @param ignoreNullValue 是否忽略值为空的字段
* @return Map
* @since 3.2.3
*/
@@ -534,10 +541,10 @@ public class BeanUtil {
* 3. 自定义字段前缀或后缀等等
*
*
- * @param bean bean对象
- * @param targetMap 目标的Map
+ * @param bean bean对象
+ * @param targetMap 目标的Map
* @param ignoreNullValue 是否忽略值为空的字段
- * @param keyEditor 属性字段(Map的key)编辑器,用于筛选、编辑key
+ * @param keyEditor 属性字段(Map的key)编辑器,用于筛选、编辑key
* @return Map
* @since 4.0.5
*/
@@ -575,6 +582,7 @@ public class BeanUtil {
}
// --------------------------------------------------------------------------------------------- copyProperties
+
/**
* 复制Bean对象属性
*
@@ -589,8 +597,8 @@ public class BeanUtil {
* 复制Bean对象属性
* 限制类用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类
*
- * @param source 源Bean对象
- * @param target 目标Bean对象
+ * @param source 源Bean对象
+ * @param target 目标Bean对象
* @param ignoreProperties 不拷贝的的属性列表
*/
public static void copyProperties(Object source, Object target, String... ignoreProperties) {
@@ -600,8 +608,8 @@ public class BeanUtil {
/**
* 复制Bean对象属性
*
- * @param source 源Bean对象
- * @param target 目标Bean对象
+ * @param source 源Bean对象
+ * @param target 目标Bean对象
* @param ignoreCase 是否忽略大小写
*/
public static void copyProperties(Object source, Object target, boolean ignoreCase) {
@@ -612,8 +620,8 @@ public class BeanUtil {
* 复制Bean对象属性
* 限制类用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类
*
- * @param source 源Bean对象
- * @param target 目标Bean对象
+ * @param source 源Bean对象
+ * @param target 目标Bean对象
* @param copyOptions 拷贝选项,见 {@link CopyOptions}
*/
public static void copyProperties(Object source, Object target, CopyOptions copyOptions) {
@@ -628,9 +636,9 @@ public class BeanUtil {
* 如果isSimple为{@code false},则只匹配类名而忽略包名,例如:cn.hutool.TestEntity只匹配TestEntity
* 如果isSimple为{@code true},则匹配包括包名的全类名,例如:cn.hutool.TestEntity匹配cn.hutool.TestEntity
*
- * @param bean Bean
+ * @param bean Bean
* @param beanClassName Bean的类名
- * @param isSimple 是否只匹配类名而忽略包名,true表示忽略包名
+ * @param isSimple 是否只匹配类名而忽略包名,true表示忽略包名
* @return 是否匹配
* @since 4.0.6
*/
@@ -639,13 +647,14 @@ public class BeanUtil {
}
/**
- * 把Bean里面的String属性做trim操作。
- *
+ * 把Bean里面的String属性做trim操作。此方法直接对传入的Bean做修改。
+ *
* 通常bean直接用来绑定页面的input,用户的输入可能首尾存在空格,通常保存数据库前需要把首尾空格去掉
*
- * @param Bean类型
- * @param bean Bean对象
+ * @param Bean类型
+ * @param bean Bean对象
* @param ignoreFields 不需要trim的Field名称列表(不区分大小写)
+ * @return 处理后的Bean对象
*/
public static T trimStrFields(T bean, String... ignoreFields) {
if (bean == null) {
diff --git a/hutool-core/src/main/java/cn/hutool/core/codec/Caesar.java b/hutool-core/src/main/java/cn/hutool/core/codec/Caesar.java
index 53e537af2..bc8b79520 100644
--- a/hutool-core/src/main/java/cn/hutool/core/codec/Caesar.java
+++ b/hutool-core/src/main/java/cn/hutool/core/codec/Caesar.java
@@ -3,9 +3,8 @@ package cn.hutool.core.codec;
/**
* 凯撒密码实现
* 算法来自:https://github.com/zhaorenjie110/SymmetricEncryptionAndDecryption
- *
- * @author looly
*
+ * @author looly
*/
public class Caesar {
@@ -16,7 +15,7 @@ public class Caesar {
* 传入明文,加密得到密文
*
* @param message 加密的消息
- * @param offset 偏移量
+ * @param offset 偏移量
* @return 加密后的内容
*/
public static String encode(String message, int offset) {
@@ -36,15 +35,16 @@ public class Caesar {
/**
* 传入明文解密到密文
*
- * @param ciphertext 密文
+ * @param cipherText 密文
+ * @param offset 偏移量
* @return 解密后的内容
*/
- public static String decode(String ciphertext, int offset) {
- final int len = ciphertext.length();
- final char[] plain = ciphertext.toCharArray();
+ public static String decode(String cipherText, int offset) {
+ final int len = cipherText.length();
+ final char[] plain = cipherText.toCharArray();
char c;
for (int i = 0; i < len; i++) {
- c = ciphertext.charAt(i);
+ c = cipherText.charAt(i);
if (false == Character.isLetter(c)) {
continue;
}
@@ -54,10 +54,11 @@ public class Caesar {
}
// ----------------------------------------------------------------------------------------- Private method start
+
/**
* 加密轮盘
- *
- * @param c 被加密字符
+ *
+ * @param c 被加密字符
* @param offset 偏移量
* @return 加密后的字符
*/
@@ -69,7 +70,7 @@ public class Caesar {
/**
* 解密轮盘
- *
+ *
* @param c 字符
* @return 解密后的字符
*/
diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java
index 961747b54..d8f5a59f2 100644
--- a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java
@@ -53,10 +53,10 @@ import cn.hutool.core.util.TypeUtil;
* 此工具方法针对{@link Collection}及其实现类封装的工具。
*
* 由于{@link Collection} 实现了{@link Iterable}接口,因此部分工具此类不提供,而是在{@link IterUtil} 中提供
- *
+ *
* @author xiaoleilu
- * @since 3.1.1
* @see IterUtil
+ * @since 3.1.1
*/
public class CollUtil {
@@ -91,8 +91,8 @@ public class CollUtil {
* 针对一个集合中存在多个相同元素的情况,计算两个集合中此元素的个数,保留最多的个数
* 例如:集合1:[a, b, c, c, c],集合2:[a, b, c, c]
* 结果:[a, b, c, c, c],此结果中只保留了三个c
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param coll1 集合1
* @param coll2 集合2
* @return 并集的集合,返回 {@link ArrayList}
@@ -124,10 +124,10 @@ public class CollUtil {
* 针对一个集合中存在多个相同元素的情况,计算两个集合中此元素的个数,保留最多的个数
* 例如:集合1:[a, b, c, c, c],集合2:[a, b, c, c]
* 结果:[a, b, c, c, c],此结果中只保留了三个c
- *
- * @param 集合元素类型
- * @param coll1 集合1
- * @param coll2 集合2
+ *
+ * @param 集合元素类型
+ * @param coll1 集合1
+ * @param coll2 集合2
* @param otherColls 其它集合
* @return 并集的集合,返回 {@link ArrayList}
*/
@@ -145,8 +145,8 @@ public class CollUtil {
* 针对一个集合中存在多个相同元素的情况,计算两个集合中此元素的个数,保留最少的个数
* 例如:集合1:[a, b, c, c, c],集合2:[a, b, c, c]
* 结果:[a, b, c, c],此结果中只保留了两个c
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param coll1 集合1
* @param coll2 集合2
* @return 交集的集合,返回 {@link ArrayList}
@@ -173,10 +173,10 @@ public class CollUtil {
* 针对一个集合中存在多个相同元素的情况,计算两个集合中此元素的个数,保留最少的个数
* 例如:集合1:[a, b, c, c, c],集合2:[a, b, c, c]
* 结果:[a, b, c, c],此结果中只保留了两个c
- *
- * @param 集合元素类型
- * @param coll1 集合1
- * @param coll2 集合2
+ *
+ * @param 集合元素类型
+ * @param coll1 集合1
+ * @param coll2 集合2
* @param otherColls 其它集合
* @return 并集的集合,返回 {@link ArrayList}
*/
@@ -202,8 +202,8 @@ public class CollUtil {
* 结果:[c],此结果中只保留了一个
* 任意一个集合为空,返回另一个集合
* 两个集合无交集则返回两个集合的组合
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param coll1 集合1
* @param coll2 集合2
* @return 差集的集合,返回 {@link ArrayList}
@@ -233,9 +233,9 @@ public class CollUtil {
/**
* 判断指定集合是否包含指定值,如果集合为空(null或者空),返回{@code false},否则找到元素返回{@code true}
- *
+ *
* @param collection 集合
- * @param value 需要查找的值
+ * @param value 需要查找的值
* @return 如果集合为空(null或者空),返回{@code false},否则找到元素返回{@code true}
* @since 4.1.10
*/
@@ -245,12 +245,12 @@ public class CollUtil {
/**
* 其中一个集合在另一个集合中是否至少包含一个元素,即是两个集合是否至少有一个共同的元素
- *
+ *
* @param coll1 集合1
* @param coll2 集合2
* @return 其中一个集合在另一个集合中是否至少包含一个元素
- * @since 2.1
* @see #intersection
+ * @since 2.1
*/
public static boolean containsAny(Collection> coll1, Collection> coll2) {
if (isEmpty(coll1) || isEmpty(coll2)) {
@@ -274,7 +274,7 @@ public class CollUtil {
/**
* 集合1中是否包含集合2中所有的元素,即集合2是否为集合1的子集
- *
+ *
* @param coll1 集合1
* @param coll2 集合2
* @return 集合1中是否包含集合2中所有的元素
@@ -300,8 +300,8 @@ public class CollUtil {
* a: 1
* b: 1
* c: 3
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param collection 集合
* @return {@link Map}
* @see IterUtil#countMap(Iterable)
@@ -313,9 +313,9 @@ public class CollUtil {
/**
* 以 conjunction 为分隔符将集合转换为字符串
* 如果集合元素为数组、{@link Iterable}或{@link Iterator},则递归组合其为字符串
- *
- * @param 集合元素类型
- * @param iterable {@link Iterable}
+ *
+ * @param 集合元素类型
+ * @param iterable {@link Iterable}
* @param conjunction 分隔符
* @return 连接后的字符串
* @see IterUtil#join(Iterable, CharSequence)
@@ -327,9 +327,9 @@ public class CollUtil {
/**
* 以 conjunction 为分隔符将集合转换为字符串
* 如果集合元素为数组、{@link Iterable}或{@link Iterator},则递归组合其为字符串
- *
- * @param 集合元素类型
- * @param iterator 集合
+ *
+ * @param 集合元素类型
+ * @param iterator 集合
* @param conjunction 分隔符
* @return 连接后的字符串
* @see IterUtil#join(Iterator, CharSequence)
@@ -341,10 +341,10 @@ public class CollUtil {
/**
* 切取部分数据
* 切取后的栈将减少这些元素
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param surplusAlaDatas 原数据
- * @param partSize 每部分数据的长度
+ * @param partSize 每部分数据的长度
* @return 切取出的数据或null
*/
public static List popPart(Stack surplusAlaDatas, int partSize) {
@@ -370,10 +370,10 @@ public class CollUtil {
/**
* 切取部分数据
* 切取后的栈将减少这些元素
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param surplusAlaDatas 原数据
- * @param partSize 每部分数据的长度
+ * @param partSize 每部分数据的长度
* @return 切取出的数据或null
*/
public static List popPart(Deque surplusAlaDatas, int partSize) {
@@ -397,9 +397,10 @@ public class CollUtil {
}
// ----------------------------------------------------------------------------------------------- new HashMap
+
/**
* 新建一个HashMap
- *
+ *
* @param Key类型
* @param Value类型
* @return HashMap对象
@@ -411,14 +412,14 @@ public class CollUtil {
/**
* 新建一个HashMap
- *
- * @param Key类型
- * @param Value类型
- * @param size 初始大小,由于默认负载因子0.75,传入的size会实际初始大小为size / 0.75
+ *
+ * @param Key类型
+ * @param Value类型
+ * @param size 初始大小,由于默认负载因子0.75,传入的size会实际初始大小为size / 0.75
* @param isOrder Map的Key是否有序,有序返回 {@link LinkedHashMap},否则返回 {@link HashMap}
* @return HashMap对象
- * @since 3.0.4
* @see MapUtil#newHashMap(int, boolean)
+ * @since 3.0.4
*/
public static HashMap newHashMap(int size, boolean isOrder) {
return MapUtil.newHashMap(size, isOrder);
@@ -426,9 +427,9 @@ public class CollUtil {
/**
* 新建一个HashMap
- *
- * @param Key类型
- * @param Value类型
+ *
+ * @param Key类型
+ * @param Value类型
* @param size 初始大小,由于默认负载因子0.75,传入的size会实际初始大小为size / 0.75
* @return HashMap对象
* @see MapUtil#newHashMap(int)
@@ -438,11 +439,12 @@ public class CollUtil {
}
// ----------------------------------------------------------------------------------------------- new HashSet
+
/**
* 新建一个HashSet
- *
+ *
* @param 集合元素类型
- * @param ts 元素数组
+ * @param ts 元素数组
* @return HashSet对象
*/
@SafeVarargs
@@ -452,9 +454,9 @@ public class CollUtil {
/**
* 新建一个LinkedHashSet
- *
+ *
* @param 集合元素类型
- * @param ts 元素数组
+ * @param ts 元素数组
* @return HashSet对象
* @since 4.1.10
*/
@@ -465,27 +467,27 @@ public class CollUtil {
/**
* 新建一个HashSet
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param isSorted 是否有序,有序返回 {@link LinkedHashSet},否则返回 {@link HashSet}
- * @param ts 元素数组
+ * @param ts 元素数组
* @return HashSet对象
*/
@SafeVarargs
public static HashSet newHashSet(boolean isSorted, T... ts) {
if (null == ts) {
- return isSorted ? new LinkedHashSet() : new HashSet();
+ return isSorted ? new LinkedHashSet<>() : new HashSet<>();
}
int initialCapacity = Math.max((int) (ts.length / .75f) + 1, 16);
- final HashSet set = isSorted ? new LinkedHashSet(initialCapacity) : new HashSet(initialCapacity);
+ final HashSet set = isSorted ? new LinkedHashSet<>(initialCapacity) : new HashSet<>(initialCapacity);
Collections.addAll(set, ts);
return set;
}
/**
* 新建一个HashSet
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param collection 集合
* @return HashSet对象
*/
@@ -495,9 +497,9 @@ public class CollUtil {
/**
* 新建一个HashSet
- *
- * @param 集合元素类型
- * @param isSorted 是否有序,有序返回 {@link LinkedHashSet},否则返回{@link HashSet}
+ *
+ * @param 集合元素类型
+ * @param isSorted 是否有序,有序返回 {@link LinkedHashSet},否则返回{@link HashSet}
* @param collection 集合,用于初始化Set
* @return HashSet对象
*/
@@ -507,10 +509,10 @@ public class CollUtil {
/**
* 新建一个HashSet
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param isSorted 是否有序,有序返回 {@link LinkedHashSet},否则返回{@link HashSet}
- * @param iter {@link Iterator}
+ * @param iter {@link Iterator}
* @return HashSet对象
* @since 3.0.8
*/
@@ -518,7 +520,7 @@ public class CollUtil {
if (null == iter) {
return newHashSet(isSorted, (T[]) null);
}
- final HashSet set = isSorted ? new LinkedHashSet() : new HashSet();
+ final HashSet set = isSorted ? new LinkedHashSet<>() : new HashSet<>();
while (iter.hasNext()) {
set.add(iter.next());
}
@@ -527,43 +529,44 @@ public class CollUtil {
/**
* 新建一个HashSet
- *
- * @param 集合元素类型
- * @param isSorted 是否有序,有序返回 {@link LinkedHashSet},否则返回{@link HashSet}
- * @param enumration {@link Enumeration}
+ *
+ * @param 集合元素类型
+ * @param isSorted 是否有序,有序返回 {@link LinkedHashSet},否则返回{@link HashSet}
+ * @param enumeration {@link Enumeration}
* @return HashSet对象
* @since 3.0.8
*/
- public static HashSet newHashSet(boolean isSorted, Enumeration enumration) {
- if (null == enumration) {
+ public static HashSet newHashSet(boolean isSorted, Enumeration enumeration) {
+ if (null == enumeration) {
return newHashSet(isSorted, (T[]) null);
}
- final HashSet set = isSorted ? new LinkedHashSet() : new HashSet();
- while (enumration.hasMoreElements()) {
- set.add(enumration.nextElement());
+ final HashSet set = isSorted ? new LinkedHashSet<>() : new HashSet<>();
+ while (enumeration.hasMoreElements()) {
+ set.add(enumeration.nextElement());
}
return set;
}
// ----------------------------------------------------------------------------------------------- List
+
/**
* 新建一个空List
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param isLinked 是否新建LinkedList
* @return List对象
* @since 4.1.2
*/
public static List list(boolean isLinked) {
- return isLinked ? new LinkedList() : new ArrayList();
+ return isLinked ? new LinkedList<>() : new ArrayList<>();
}
/**
* 新建一个List
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param isLinked 是否新建LinkedList
- * @param values 数组
+ * @param values 数组
* @return List对象
* @since 4.1.2
*/
@@ -572,16 +575,16 @@ public class CollUtil {
if (ArrayUtil.isEmpty(values)) {
return list(isLinked);
}
- final List arrayList = isLinked ? new LinkedList() : new ArrayList(values.length);
+ final List arrayList = isLinked ? new LinkedList<>() : new ArrayList<>(values.length);
Collections.addAll(arrayList, values);
return arrayList;
}
/**
* 新建一个List
- *
- * @param 集合元素类型
- * @param isLinked 是否新建LinkedList
+ *
+ * @param 集合元素类型
+ * @param isLinked 是否新建LinkedList
* @param collection 集合
* @return List对象
* @since 4.1.2
@@ -596,8 +599,8 @@ public class CollUtil {
/**
* 新建一个List
* 提供的参数为null时返回空{@link ArrayList}
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param isLinked 是否新建LinkedList
* @param iterable {@link Iterable}
* @return List对象
@@ -613,10 +616,10 @@ public class CollUtil {
/**
* 新建一个ArrayList
* 提供的参数为null时返回空{@link ArrayList}
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param isLinked 是否新建LinkedList
- * @param iter {@link Iterator}
+ * @param iter {@link Iterator}
* @return ArrayList对象
* @since 4.1.2
*/
@@ -633,9 +636,9 @@ public class CollUtil {
/**
* 新建一个List
* 提供的参数为null时返回空{@link ArrayList}
- *
- * @param 集合元素类型
- * @param isLinked 是否新建LinkedList
+ *
+ * @param 集合元素类型
+ * @param isLinked 是否新建LinkedList
* @param enumration {@link Enumeration}
* @return ArrayList对象
* @since 3.0.8
@@ -652,8 +655,8 @@ public class CollUtil {
/**
* 新建一个ArrayList
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param values 数组
* @return ArrayList对象
*/
@@ -664,8 +667,8 @@ public class CollUtil {
/**
* 数组转为ArrayList
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param values 数组
* @return ArrayList对象
* @since 4.0.11
@@ -677,8 +680,8 @@ public class CollUtil {
/**
* 新建一个ArrayList
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param collection 集合
* @return ArrayList对象
*/
@@ -689,8 +692,8 @@ public class CollUtil {
/**
* 新建一个ArrayList
* 提供的参数为null时返回空{@link ArrayList}
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param iterable {@link Iterable}
* @return ArrayList对象
* @since 3.1.0
@@ -702,8 +705,8 @@ public class CollUtil {
/**
* 新建一个ArrayList
* 提供的参数为null时返回空{@link ArrayList}
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param iter {@link Iterator}
* @return ArrayList对象
* @since 3.0.8
@@ -715,8 +718,8 @@ public class CollUtil {
/**
* 新建一个ArrayList
* 提供的参数为null时返回空{@link ArrayList}
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param enumration {@link Enumeration}
* @return ArrayList对象
* @since 3.0.8
@@ -726,11 +729,12 @@ public class CollUtil {
}
// ----------------------------------------------------------------------new LinkedList
+
/**
* 新建LinkedList
- *
+ *
* @param values 数组
- * @param 类型
+ * @param 类型
* @return LinkedList
* @since 4.1.2
*/
@@ -741,19 +745,20 @@ public class CollUtil {
/**
* 新建一个CopyOnWriteArrayList
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param collection 集合
* @return {@link CopyOnWriteArrayList}
*/
public static CopyOnWriteArrayList newCopyOnWriteArrayList(Collection collection) {
- return (null == collection) ? (new CopyOnWriteArrayList()) : (new CopyOnWriteArrayList<>(collection));
+ return (null == collection) ? (new CopyOnWriteArrayList<>()) : (new CopyOnWriteArrayList<>(collection));
}
/**
* 新建{@link BlockingQueue}
* 在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。
- *
+ *
+ * @param 集合类型
* @param capacity 容量
* @param isLinked 是否为链表形式
* @return {@link BlockingQueue}
@@ -771,13 +776,13 @@ public class CollUtil {
/**
* 创建新的集合对象
- *
- * @param 集合类型
+ *
+ * @param 集合类型
* @param collectionType 集合类型
* @return 集合类型对应的实例
* @since 3.0.8
*/
- @SuppressWarnings({ "unchecked", "rawtypes" })
+ @SuppressWarnings({"unchecked", "rawtypes"})
public static Collection create(Class> collectionType) {
Collection list;
if (collectionType.isAssignableFrom(AbstractCollection.class)) {
@@ -817,9 +822,9 @@ public class CollUtil {
/**
* 创建Map
* 传入抽象Map{@link AbstractMap}和{@link Map}类将默认创建{@link HashMap}
- *
- * @param map键类型
- * @param map值类型
+ *
+ * @param map键类型
+ * @param map值类型
* @param mapType map类型
* @return {@link Map}实例
* @see MapUtil#createMap(Class)
@@ -830,8 +835,8 @@ public class CollUtil {
/**
* 去重集合
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param collection 集合
* @return {@link ArrayList}
*/
@@ -847,11 +852,11 @@ public class CollUtil {
/**
* 截取集合的部分
- *
- * @param 集合元素类型
- * @param list 被截取的数组
+ *
+ * @param 集合元素类型
+ * @param list 被截取的数组
* @param start 开始位置(包含)
- * @param end 结束位置(不包含)
+ * @param end 结束位置(不包含)
* @return 截取后的数组,当开始位置超过最大时,返回空的List
*/
public static List sub(List list, int start, int end) {
@@ -860,12 +865,12 @@ public class CollUtil {
/**
* 截取集合的部分
- *
- * @param 集合元素类型
- * @param list 被截取的数组
+ *
+ * @param 集合元素类型
+ * @param list 被截取的数组
* @param start 开始位置(包含)
- * @param end 结束位置(不包含)
- * @param step 步进
+ * @param end 结束位置(不包含)
+ * @param step 步进
* @return 截取后的数组,当开始位置超过最大时,返回空的List
* @since 4.0.6
*/
@@ -913,11 +918,11 @@ public class CollUtil {
/**
* 截取集合的部分
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param collection 被截取的数组
- * @param start 开始位置(包含)
- * @param end 结束位置(不包含)
+ * @param start 开始位置(包含)
+ * @param end 结束位置(不包含)
* @return 截取后的数组,当开始位置超过最大时,返回null
*/
public static List sub(Collection collection, int start, int end) {
@@ -926,12 +931,12 @@ public class CollUtil {
/**
* 截取集合的部分
- *
- * @param 集合元素类型
- * @param list 被截取的数组
+ *
+ * @param 集合元素类型
+ * @param list 被截取的数组
* @param start 开始位置(包含)
- * @param end 结束位置(不包含)
- * @param step 步进
+ * @param end 结束位置(不包含)
+ * @param step 步进
* @return 截取后的数组,当开始位置超过最大时,返回空集合
* @since 4.0.6
*/
@@ -945,10 +950,10 @@ public class CollUtil {
/**
* 对集合按照指定长度分段,每一个段为单独的集合,返回这个集合的列表
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param collection 集合
- * @param size 每个段的长度
+ * @param size 每个段的长度
* @return 分段列表
*/
public static List> split(Collection collection, int size) {
@@ -969,15 +974,15 @@ public class CollUtil {
/**
* 过滤,此方法产生一个新集合
* 过滤过程通过传入的Editor实现来返回需要的元素内容,这个Editor实现可以实现以下功能:
- *
+ *
*
* 1、过滤出需要的对象,如果返回null表示这个元素对象抛弃
* 2、修改元素对象,返回集合中为修改后的对象
*
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param collection 集合
- * @param editor 编辑器接口
+ * @param editor 编辑器接口
* @return 过滤后的集合
*/
public static Collection filter(Collection collection, Editor editor) {
@@ -1006,14 +1011,14 @@ public class CollUtil {
/**
* 过滤
* 过滤过程通过传入的Editor实现来返回需要的元素内容,这个Editor实现可以实现以下功能:
- *
+ *
*
* 1、过滤出需要的对象,如果返回null表示这个元素对象抛弃
* 2、修改元素对象,返回集合中为修改后的对象
*
- *
- * @param 集合元素类型
- * @param list 集合
+ *
+ * @param 集合元素类型
+ * @param list 集合
* @param editor 编辑器接口
* @return 过滤后的数组
* @since 4.1.8
@@ -1023,7 +1028,7 @@ public class CollUtil {
return list;
}
- final List list2 = (list instanceof LinkedList) ? new LinkedList() : new ArrayList(list.size());
+ final List list2 = (list instanceof LinkedList) ? new LinkedList<>() : new ArrayList<>(list.size());
T modified;
for (T t : list) {
modified = editor.edit(t);
@@ -1037,14 +1042,14 @@ public class CollUtil {
/**
* 过滤
* 过滤过程通过传入的Filter实现来过滤返回需要的元素内容,这个Filter实现可以实现以下功能:
- *
+ *
*
* 1、过滤出需要的对象,{@link Filter#accept(Object)}方法返回true的对象将被加入结果集合中
*
- *
- * @param 集合元素类型
+ *
+ * @param 集合元素类型
* @param collection 集合
- * @param filter 过滤器
+ * @param filter 过滤器
* @return 过滤后的数组
* @since 3.1.0
*/
@@ -1072,13 +1077,13 @@ public class CollUtil {
/**
* 过滤
* 过滤过程通过传入的Filter实现来过滤返回需要的元素内容,这个Filter实现可以实现以下功能:
- *
+ *
*
* 1、过滤出需要的对象,{@link Filter#accept(Object)}方法返回true的对象将被加入结果集合中
*
- *
- * @param 集合元素类型
- * @param list 集合
+ *
+ * @param 集合元素类型
+ * @param list 集合
* @param filter 过滤器
* @return 过滤后的数组
* @since 4.1.8
@@ -1087,7 +1092,7 @@ public class CollUtil {
if (null == list || null == filter) {
return list;
}
- final List list2 = (list instanceof LinkedList) ? new LinkedList() : new ArrayList(list.size());
+ final List list2 = (list instanceof LinkedList) ? new LinkedList<>() : new ArrayList<>(list.size());
for (T t : list) {
if (filter.accept(t)) {
list2.add(t);
@@ -1098,10 +1103,10 @@ public class CollUtil {
/**
* 去掉集合中的多个元素,此方法直接修改原集合
- *
- * @param 集合类型
- * @param 集合元素类型
- * @param collection 集合
+ *
+ * @param 集合类型
+ * @param 集合元素类型
+ * @param collection 集合
* @param elesRemoved 被去掉的元素数组
* @return 原集合
* @since 4.1.0
@@ -1114,11 +1119,11 @@ public class CollUtil {
/**
* 去除指定元素,此方法直接修改原集合
- *
- * @param 集合类型
- * @param 集合元素类型
+ *
+ * @param 集合类型
+ * @param 集合元素类型
* @param collection 集合
- * @param filter 过滤器
+ * @param filter 过滤器
* @return 处理后的集合
* @since 4.6.5
*/
@@ -1128,9 +1133,9 @@ public class CollUtil {
/**
* 去除{@code null} 元素,此方法直接修改原集合
- *
- * @param 集合类型
- * @param 集合元素类型
+ *
+ * @param 集合类型
+ * @param 集合元素类型
* @param collection 集合
* @return 处理后的集合
* @since 3.2.2
@@ -1146,7 +1151,9 @@ public class CollUtil {
/**
* 去除{@code null}或者"" 元素,此方法直接修改原集合
- *
+ *
+ * @param 集合类型
+ * @param 集合元素类型
* @param collection 集合
* @return 处理后的集合
* @since 3.2.2
@@ -1162,7 +1169,9 @@ public class CollUtil {
/**
* 去除{@code null}或者""或者空白字符串 元素,此方法直接修改原集合
- *
+ *
+ * @param 集合类型
+ * @param 集合元素类型
* @param collection 集合
* @return 处理后的集合
* @since 3.2.2
@@ -1179,9 +1188,9 @@ public class CollUtil {
/**
* 通过Editor抽取集合元素中的某些值返回为新列表
* 例如提供的是一个Bean列表,通过Editor接口实现获取某个字段值,返回这个字段值组成的新列表
- *
+ *
* @param collection 原集合
- * @param editor 编辑器
+ * @param editor 编辑器
* @return 抽取后的新列表
*/
public static List