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 <dam6...@gmail.com>
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

Reply via email to