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 d9de2fd5b [LANG-1810] Deprecate SOFT_MAX_ARRAY_LENGTH in favor of
MAX_ARRAY_LENGTH (#1559)
d9de2fd5b is described below
commit d9de2fd5b8c65506b1ab14df631cc26ffcd647dc
Author: Yelim Koo <[email protected]>
AuthorDate: Sun Jan 11 12:57:19 2026 +0900
[LANG-1810] Deprecate SOFT_MAX_ARRAY_LENGTH in favor of MAX_ARRAY_LENGTH
(#1559)
* [LANG-1810] Deprecate SOFT_MAX_ARRAY_LENGTH in favor of MAX_ARRAY_LENGTH
* [LANG-1810] Add test coverage for MAX_ARRAY_LENGTH
* [LANG-1810] Rename new constant to SAFE_MAX_ARRAY_LENGTH and update
Javadoc
---------
Co-authored-by: yelimkoo <[email protected]>
---
src/main/java/org/apache/commons/lang3/ArrayUtils.java | 9 +++++++++
src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java | 5 +++++
2 files changed, 14 insertions(+)
diff --git a/src/main/java/org/apache/commons/lang3/ArrayUtils.java
b/src/main/java/org/apache/commons/lang3/ArrayUtils.java
index 4369d4f7e..c63bd365b 100644
--- a/src/main/java/org/apache/commons/lang3/ArrayUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ArrayUtils.java
@@ -194,9 +194,18 @@ public class ArrayUtils {
* The {@code SOFT_MAX_ARRAY_LENGTH} constant from Java's internal
ArraySupport class.
*
* @since 3.19.0
+ * @deprecated This variable will be final in 4.0; to guarantee
immutability now, use {@link #SAFE_MAX_ARRAY_LENGTH}.
*/
+ @Deprecated
public static int SOFT_MAX_ARRAY_LENGTH = Integer.MAX_VALUE - 8;
+ /**
+ * The {@code MAX_ARRAY_LENGTH} constant from Java's internal ArraySupport
class.
+ *
+ * @since 3.21.0
+ */
+ public static final int SAFE_MAX_ARRAY_LENGTH = Integer.MAX_VALUE - 8;
+
/**
* Copies the given array and adds the given element at the end of the new
array.
* <p>
diff --git a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
index cb3a38eea..a6ff321b9 100644
--- a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
@@ -6958,4 +6958,9 @@ void testToStringDefault() {
assertEquals("{<null>}", ArrayUtils.toString(new String[]{null},
"<empty>"));
assertEquals("{pink,blue}", ArrayUtils.toString(new String[]{"pink",
"blue"}, "<empty>"));
}
+
+ @Test
+ void testMaxArrayLength() {
+ assertEquals(Integer.MAX_VALUE - 8, ArrayUtils.SAFE_MAX_ARRAY_LENGTH);
+ }
}