You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/12/08 14:18:29 UTC
[commons-lang] 01/02: Reuse constant for immutable cases.
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 bdaaeb5b1b1805d0a9b52a9c74b9a2b4531cc53c
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Wed Dec 8 08:56:40 2021 -0500
Reuse constant for immutable cases.
---
.../org/apache/commons/lang3/tuple/ImmutablePair.java | 15 +++------------
.../org/apache/commons/lang3/tuple/ImmutableTriple.java | 4 ++--
2 files changed, 5 insertions(+), 14 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 7c52b6c..9e0d9bd 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<L, R> extends Pair<L, R> {
*/
// 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<L, R> extends Pair<L, R> {
* @return a pair formed from the two parameters, not null
*/
public static <L, R> ImmutablePair<L, R> 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<L, R> extends Pair<L, R> {
* @since 3.10
*/
public static <L, R> ImmutablePair<L, R> of(final Map.Entry<L, R> 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 5ea70e6..96ca8bf 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<L, M, R> extends Triple<L, M, R> {
*/
// 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<L, M, R> extends Triple<L, M, R> {
* @return a triple formed from the three parameters, not null
*/
public static <L, M, R> ImmutableTriple<L, M, R> 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;
}
/**