You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/12/08 18:29:20 UTC
[commons-lang] branch master updated: Add ArrayUtils.containsAny(Object[], Object...).
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git
The following commit(s) were added to refs/heads/master by this push:
new 5def1c8 Add ArrayUtils.containsAny(Object[], Object...).
5def1c8 is described below
commit 5def1c8d634f12a265662f38188cd611aa1e574b
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Wed Dec 8 13:29:16 2021 -0500
Add ArrayUtils.containsAny(Object[], Object...).
Primitive versions are TODOs.
---
src/changes/changes.xml | 1 +
src/main/java/org/apache/commons/lang3/ArrayUtils.java | 16 ++++++++++++++++
.../java/org/apache/commons/lang3/ArrayUtilsTest.java | 15 ++++++++++++++-
3 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 205c788..3c5808b 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -113,6 +113,7 @@ The <action> type attribute can be add,update,fix,remove.
<action type="add" dev="ggregory" due-to="Gary Gregory">Add MutableTriple.ofNonNull(L, M, R).</action>
<action type="add" dev="ggregory" due-to="Gary Gregory">Add Pair.ofNonNull(L, R).</action>
<action type="add" dev="ggregory" due-to="Gary Gregory">Add Triple.ofNonNull(L, M, R).</action>
+ <action type="add" dev="ggregory" due-to="Gary Gregory">Add ArrayUtils.containsAny(Object[], Object...).</action>
<!-- UPDATE -->
<action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump spotbugs-maven-plugin from 4.2.0 to 4.5.0.0 #735, #808, #822, #834.</action>
<action type="update" dev="ggregory" due-to="Dependabot, XenoAmess">Bump actions/cache from v2.1.4 to v2.1.7 #742, #752, #764, #833.</action>
diff --git a/src/main/java/org/apache/commons/lang3/ArrayUtils.java b/src/main/java/org/apache/commons/lang3/ArrayUtils.java
index c83a2ea..033a236 100644
--- a/src/main/java/org/apache/commons/lang3/ArrayUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ArrayUtils.java
@@ -36,6 +36,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.commons.lang3.mutable.MutableInt;
+import org.apache.commons.lang3.stream.Streams;
/**
* Operations on arrays, primitive arrays (like {@code int[]}) and
@@ -1653,6 +1654,21 @@ public class ArrayUtils {
}
/**
+ * Checks if any of the objects are in the given array.
+ * <p>
+ * The method returns {@code false} if a {@code null} array is passed in.
+ * </p>
+ *
+ * @param array the array to search through
+ * @param objectsToFind any of the objects to find
+ * @return {@code true} if the array contains any of the objects
+ * @since 3.13.0
+ */
+ public static boolean containsAny(final Object[] array, final Object... objectsToFind) {
+ return Streams.of(objectsToFind).anyMatch(e -> contains(array, e));
+ }
+
+ /**
* Checks if the value is in the given array.
* <p>
* The method returns {@code false} if a {@code null} array is passed in.
diff --git a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
index 3e76bf2..b89d850 100644
--- a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
@@ -208,8 +208,21 @@ public class ArrayUtilsTest {
assertTrue(ArrayUtils.contains(array, "1"));
assertTrue(ArrayUtils.contains(array, "2"));
assertTrue(ArrayUtils.contains(array, "3"));
- assertTrue(ArrayUtils.contains(array, null));
assertFalse(ArrayUtils.contains(array, "notInArray"));
+ assertTrue(ArrayUtils.contains(array, null));
+ }
+
+ @Test
+ public void testContainsAny() {
+ final Object[] array = {"0", "1", "2", "3", null, "0"};
+ assertFalse(ArrayUtils.containsAny(null, null));
+ assertFalse(ArrayUtils.containsAny(null, "1"));
+ assertTrue(ArrayUtils.containsAny(array, "0"));
+ assertTrue(ArrayUtils.containsAny(array, "1"));
+ assertTrue(ArrayUtils.containsAny(array, "2"));
+ assertTrue(ArrayUtils.containsAny(array, "3"));
+ assertFalse(ArrayUtils.containsAny(array, "notInArray"));
+ assertTrue(ArrayUtils.containsAny(array, new String[] {null}));
}
@Test