From 3f95c1f13108bd1e04b242b2a8f4a100ae44fba1 Mon Sep 17 00:00:00 2001 From: ester-bloch Date: Thu, 29 Jan 2026 14:44:56 +0200 Subject: [PATCH] LANG-1386 Ambiguous method call error when using BooleanUtils.and --- .../java/org/apache/commons/lang3/BooleanUtils.java | 3 ++- .../org/apache/commons/lang3/BooleanUtilsTest.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/commons/lang3/BooleanUtils.java b/src/main/java/org/apache/commons/lang3/BooleanUtils.java index 7cb0c3e9285..33b9b0ecfaa 100644 --- a/src/main/java/org/apache/commons/lang3/BooleanUtils.java +++ b/src/main/java/org/apache/commons/lang3/BooleanUtils.java @@ -98,7 +98,8 @@ public class BooleanUtils { * @throws IllegalArgumentException if {@code array} is empty. * @since 3.0.1 */ - public static boolean and(final boolean... array) { + + public static boolean and(boolean[] array) { ObjectUtils.requireNonEmpty(array, "array"); for (final boolean element : array) { if (!element) { diff --git a/src/test/java/org/apache/commons/lang3/BooleanUtilsTest.java b/src/test/java/org/apache/commons/lang3/BooleanUtilsTest.java index 8907ab7e2f8..630ba3d9257 100644 --- a/src/test/java/org/apache/commons/lang3/BooleanUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/BooleanUtilsTest.java @@ -453,6 +453,16 @@ void testAnd_object_emptyInput() { assertIllegalArgumentException(() -> BooleanUtils.and(new Boolean[] {})); } + @Test + void testAnd_object_varargs_wrapper() { + assertEquals(false, BooleanUtils.and(Boolean.FALSE, Boolean.TRUE)); + } + + @Test + void testAnd_object_varargs_primitive() { + assertEquals(false, BooleanUtils.and(false, true)); + } + @Test void testAnd_object_nullElementInput() { assertEquals(Boolean.FALSE, BooleanUtils.and(new Boolean[] {null}));