This is an automated email from the ASF dual-hosted git repository.
jking pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/thrift.git
The following commit(s) were added to refs/heads/master by this push:
new df9c60d THRIFT-4711: Improve Immutable None Type Instantiation
df9c60d is described below
commit df9c60d38f0255ea08ea0a5aeba1abc4a0ccf04d
Author: Beluga Behr <[email protected]>
AuthorDate: Tue Jan 1 14:43:23 2019 -0500
THRIFT-4711: Improve Immutable None Type Instantiation
---
lib/java/src/org/apache/thrift/Option.java | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/java/src/org/apache/thrift/Option.java
b/lib/java/src/org/apache/thrift/Option.java
index db25ec5..d5cd309 100644
--- a/lib/java/src/org/apache/thrift/Option.java
+++ b/lib/java/src/org/apache/thrift/Option.java
@@ -24,6 +24,9 @@ package org.apache.thrift;
*/
public abstract class Option<T> {
+ @SuppressWarnings("rawtypes")
+ private static final Option NONE = new None();
+
/**
* Whether the Option is defined or not
* @return
@@ -87,7 +90,7 @@ public abstract class Option<T> {
}
public String toString() {
- return "Some("+value.toString()+")";
+ return "Some(" + value + ")";
}
}
@@ -99,9 +102,9 @@ public abstract class Option<T> {
*/
public static <T> Option<T> fromNullable(T value) {
if (value != null) {
- return new Some<T>(value);
+ return some(value);
} else {
- return new None<T>();
+ return none();
}
}
@@ -115,7 +118,8 @@ public abstract class Option<T> {
return new Some<T>(value);
}
+ @SuppressWarnings("unchecked")
public static <T> None<T> none() {
- return new None<T>();
+ return (None<T>) NONE;
}
}
\ No newline at end of file