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 7c52b6c87..9e0d9bd8a 100644 --- a/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java +++ b/src/main/java/org/apache/commons/lang3/tuple/ImmutablePair.java @@ -51,7 +51,7 @@ public final class ImmutablePair extends Pair { */ // This is not defined with generics to avoid warnings in call sites. @SuppressWarnings("rawtypes") - private static final ImmutablePair NULL = of(null, null); + private static final ImmutablePair NULL = new ImmutablePair<>(null, null); /** Serialization version */ private static final long serialVersionUID = 4954918890077093841L; @@ -111,7 +111,7 @@ public final class ImmutablePair extends Pair { * @return a pair formed from the two parameters, not null */ public static ImmutablePair of(final L left, final R right) { - return new ImmutablePair<>(left, right); + return left != null || right != null ? new ImmutablePair<>(left, right) : NULL; } /** @@ -127,16 +127,7 @@ public final class ImmutablePair extends Pair { * @since 3.10 */ public static ImmutablePair of(final Map.Entry pair) { - final L left; - final R right; - if (pair != null) { - left = pair.getKey(); - right = pair.getValue(); - } else { - left = null; - right = null; - } - return new ImmutablePair<>(left, right); + return pair != null ? new ImmutablePair<>(pair.getKey(), pair.getValue()) : ImmutablePair.NULL; } /** 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 5ea70e612..96ca8bfdb 100644 --- a/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java +++ b/src/main/java/org/apache/commons/lang3/tuple/ImmutableTriple.java @@ -51,7 +51,7 @@ public final class ImmutableTriple extends Triple { */ // This is not defined with generics to avoid warnings in call sites. @SuppressWarnings("rawtypes") - private static final ImmutableTriple NULL = of(null, null, null); + private static final ImmutableTriple NULL = new ImmutableTriple<>(null, null, null); /** Serialization version */ private static final long serialVersionUID = 1L; @@ -99,7 +99,7 @@ public final class ImmutableTriple extends Triple { * @return a triple formed from the three parameters, not null */ public static ImmutableTriple of(final L left, final M middle, final R right) { - return new ImmutableTriple<>(left, middle, right); + return left != null | middle != null || right != null ? new ImmutableTriple<>(left, middle, right) : NULL; } /**