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); } /**