diff options
author | Gary Gregory <gardgregory@gmail.com> | 2019-05-10 08:27:33 -0400 |
---|---|---|
committer | Gary Gregory <gardgregory@gmail.com> | 2019-05-10 08:27:33 -0400 |
commit | 86cf126f1373c783766cd2957f536d721b68f297 (patch) | |
tree | 75ead49a4969074496bbe9e5ba864b5390a5b470 /src/main/java/org/apache/commons/lang3/tuple | |
parent | f2b7f988407a55de784f4cb259dc066d3538c5a0 (diff) | |
download | apache-commons-lang-86cf126f1373c783766cd2957f536d721b68f297.tar.gz |
[LANG-1458] Add EMPTY_ARRAY constants to classes in
org.apache.commons.lang3.tuple
Diffstat (limited to 'src/main/java/org/apache/commons/lang3/tuple')
4 files changed, 88 insertions, 0 deletions
diff --git a/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java b/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java index abc8c3be5..c0934bf1d 100644 --- a/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java +++ b/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java @@ -34,6 +34,28 @@ package org.apache.commons.lang3.tuple; public final class ImmutablePair<L, R> extends Pair<L, R> { /** + * An empty array. + * <p> + * Consider using {@link #emptyArray()} to avoid generics warnings. + * </p> + * + * @since 3.10. + */ + public static final ImmutablePair<?, ?>[] EMPTY_ARRAY = new ImmutablePair[0]; + + /** + * Returns the empty array singleton that can be assigned without compiler warning. + * + * @return the empty array singleton that can be assigned without compiler warning. + * + * @since 3.10. + */ + @SuppressWarnings("unchecked") + public static final <L, R> ImmutablePair<L, R>[] emptyArray() { + return (ImmutablePair<L, R>[]) EMPTY_ARRAY; + } + + /** * An immutable pair of nulls. */ // This is not defined with generics to avoid warnings in call sites. diff --git a/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java b/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java index 2d9dda61f..baf4ad174 100644 --- a/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java +++ b/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java @@ -35,6 +35,28 @@ package org.apache.commons.lang3.tuple; public final class ImmutableTriple<L, M, R> extends Triple<L, M, R> { /** + * An empty array. + * <p> + * Consider using {@link #emptyArray()} to avoid generics warnings. + * </p> + * + * @since 3.10. + */ + public static final ImmutableTriple<?, ?, ?>[] EMPTY_ARRAY = new ImmutableTriple[0]; + + /** + * Returns the empty array singleton that can be assigned without compiler warning. + * + * @return the empty array singleton that can be assigned without compiler warning. + * + * @since 3.10. + */ + @SuppressWarnings("unchecked") + public static final <L, M, R> ImmutableTriple<L, M, R>[] emptyArray() { + return (ImmutableTriple<L, M, R>[]) EMPTY_ARRAY; + } + + /** * An immutable triple of nulls. */ // This is not defined with generics to avoid warnings in call sites. diff --git a/src/main/java/org/apache/commons/lang3/tuple/MutablePair.java b/src/main/java/org/apache/commons/lang3/tuple/MutablePair.java index 386988bf0..1779b5827 100644 --- a/src/main/java/org/apache/commons/lang3/tuple/MutablePair.java +++ b/src/main/java/org/apache/commons/lang3/tuple/MutablePair.java @@ -28,6 +28,28 @@ package org.apache.commons.lang3.tuple; */ public class MutablePair<L, R> extends Pair<L, R> { + /** + * An empty array. + * <p> + * Consider using {@link #emptyArray()} to avoid generics warnings. + * </p> + * + * @since 3.10. + */ + public static final MutablePair<?, ?>[] EMPTY_ARRAY = new MutablePair[0]; + + /** + * Returns the empty array singleton that can be assigned without compiler warning. + * + * @return the empty array singleton that can be assigned without compiler warning. + * + * @since 3.10. + */ + @SuppressWarnings("unchecked") + public static final <L, R> MutablePair<L, R>[] emptyArray() { + return (MutablePair<L, R>[]) EMPTY_ARRAY; + } + /** Serialization version */ private static final long serialVersionUID = 4954918890077093841L; diff --git a/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java b/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java index f5d92be76..cfd8bf38c 100644 --- a/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java +++ b/src/main/java/org/apache/commons/lang3/tuple/MutableTriple.java @@ -29,6 +29,28 @@ package org.apache.commons.lang3.tuple; */ public class MutableTriple<L, M, R> extends Triple<L, M, R> { + /** + * The empty array singleton. + * <p> + * Consider using {@link #emptyArray()} to avoid generics warnings. + * </p> + * + * @since 3.10. + */ + public static final MutableTriple<?, ?, ?>[] EMPTY_ARRAY = new MutableTriple[0]; + + /** + * Returns the empty array singleton that can be assigned without compiler warning. + * + * @return the empty array singleton that can be assigned without compiler warning. + * + * @since 3.10. + */ + @SuppressWarnings("unchecked") + public static final <L, M, R> MutableTriple<L, M, R>[] emptyArray() { + return (MutableTriple<L, M, R>[]) EMPTY_ARRAY; + } + /** Serialization version */ private static final long serialVersionUID = 1L; |