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

commit c2960c483f00424352e9336fca4a04736e1e5777
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sun Aug 21 11:05:38 2022 -0400

    Refactor internals and use Stream
---
 .../java/org/apache/commons/lang3/ObjectUtils.java | 35 ++++------------------
 1 file changed, 5 insertions(+), 30 deletions(-)

diff --git a/src/main/java/org/apache/commons/lang3/ObjectUtils.java 
b/src/main/java/org/apache/commons/lang3/ObjectUtils.java
index 920855ca3..0155da451 100644
--- a/src/main/java/org/apache/commons/lang3/ObjectUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ObjectUtils.java
@@ -33,12 +33,14 @@ import java.util.Objects;
 import java.util.Optional;
 import java.util.TreeSet;
 import java.util.function.Supplier;
+import java.util.stream.Stream;
 
 import org.apache.commons.lang3.exception.CloneFailedException;
 import org.apache.commons.lang3.function.Suppliers;
 import org.apache.commons.lang3.mutable.MutableInt;
 import org.apache.commons.lang3.text.StrBuilder;
 import org.apache.commons.lang3.time.DurationUtils;
+import org.apache.commons.lang3.stream.Streams;
 
 /**
  * <p>Operations on {@link Object}.</p>
@@ -137,17 +139,7 @@ public class ObjectUtils {
      * @since 3.5
      */
     public static boolean allNotNull(final Object... values) {
-        if (values == null) {
-            return false;
-        }
-
-        for (final Object val : values) {
-            if (val == null) {
-                return false;
-            }
-        }
-
-        return true;
+        return values != null ? Stream.of(values).noneMatch(Objects::isNull) : 
false;
     }
 
     /**
@@ -657,14 +649,7 @@ public class ObjectUtils {
      */
     @SafeVarargs
     public static <T> T firstNonNull(final T... values) {
-        if (values != null) {
-            for (final T val : values) {
-                if (val != null) {
-                    return val;
-                }
-            }
-        }
-        return null;
+        return 
Streams.of(values).filter(Objects::nonNull).findFirst().orElse(null);
     }
 
     /**
@@ -706,17 +691,7 @@ public class ObjectUtils {
      */
     @SafeVarargs
     public static <T> T getFirstNonNull(final Supplier<T>... suppliers) {
-        if (suppliers != null) {
-            for (final Supplier<T> supplier : suppliers) {
-                if (supplier != null) {
-                    final T value = supplier.get();
-                    if (value != null) {
-                        return value;
-                    }
-                }
-            }
-        }
-        return null;
+        return Streams.of(suppliers).map(s -> s != null ? s.get() : 
null).filter(Objects::nonNull).findFirst().orElse(null);
     }
 
     /**

Reply via email to