add method

This commit is contained in:
Looly 2020-10-28 10:55:46 +08:00
parent cdedcf5b2a
commit 035ab33fb3
3 changed files with 48 additions and 8 deletions

View File

@ -11,6 +11,7 @@
* 【core 】 CollUtil增加forEach重载issue#I22NA4@Gitee
* 【core 】 CollUtil.map忽略空值改规则为原数组中的元素和处理后的元素都会忽略空值issue#I22N08@Gitee
* 【http 】 增加SoapClient增加addSOAPHeader重载
* 【http 】 ArrayUtil增加containsAll方法
### Bug修复
-------------------------------------------------------------------------------------------------------------

View File

@ -1340,6 +1340,25 @@ public class ArrayUtil {
return false;
}
/**
* 数组中是否包含指定元素中的全部
*
* @param <T> 数组元素类型
* @param array 数组
* @param values 被检查的多个元素
* @return 是否包含指定元素中的全部
* @since 5.4.7
*/
@SuppressWarnings("unchecked")
public static <T> boolean containsAll(T[] array, T... values) {
for (T value : values) {
if (false == contains(array, value)) {
return false;
}
}
return true;
}
/**
* 数组中是否包含元素忽略大小写
*

View File

@ -126,6 +126,26 @@ public class ArrayUtilTest {
Assert.assertTrue(contains2);
}
@Test
public void containsAnyTest() {
Integer[] a = {1, 2, 3, 4, 3, 6};
boolean contains = ArrayUtil.containsAny(a, 4, 10, 40);
Assert.assertTrue(contains);
contains = ArrayUtil.containsAny(a, 10, 40);
Assert.assertFalse(contains);
}
@Test
public void containsAllTest() {
Integer[] a = {1, 2, 3, 4, 3, 6};
boolean contains = ArrayUtil.containsAll(a, 4, 2, 6);
Assert.assertTrue(contains);
contains = ArrayUtil.containsAll(a, 1, 2, 3, 5);
Assert.assertFalse(contains);
}
@Test
public void mapTest() {
String[] keys = {"a", "b", "c"};