8014316: Use Method Refs in j.u.stream.MatchOps
authormduigou
Fri, 10 May 2013 09:51:14 -0700
changeset 17454 8452c073f7fc
parent 17445 6c4e2d6b953b
child 17455 2b7c7aa53a38
8014316: Use Method Refs in j.u.stream.MatchOps Reviewed-by: dholmes
jdk/src/share/classes/java/util/stream/MatchOps.java
--- a/jdk/src/share/classes/java/util/stream/MatchOps.java	Tue May 07 13:15:28 2013 -0700
+++ b/jdk/src/share/classes/java/util/stream/MatchOps.java	Fri May 10 09:51:14 2013 -0700
@@ -94,12 +94,7 @@
             }
         }
 
-        // @@@ Workaround for JDK-8011591 -- when fixed, replace s with constructor ref
-        Supplier<BooleanTerminalSink<T>> s = new Supplier<BooleanTerminalSink<T>>() {
-            @Override
-            public BooleanTerminalSink<T> get() {return new MatchSink();}
-        };
-        return new MatchOp<>(StreamShape.REFERENCE, matchKind, s);
+        return new MatchOp<>(StreamShape.REFERENCE, matchKind, MatchSink::new);
     }
 
     /**
@@ -128,12 +123,7 @@
             }
         }
 
-        // @@@ Workaround for JDK-8011591 -- when fixed, replace s with constructor ref
-        Supplier<BooleanTerminalSink<Integer>> s = new Supplier<BooleanTerminalSink<Integer>>() {
-            @Override
-            public BooleanTerminalSink<Integer> get() {return new MatchSink();}
-        };
-        return new MatchOp<>(StreamShape.INT_VALUE, matchKind, s);
+        return new MatchOp<>(StreamShape.INT_VALUE, matchKind, MatchSink::new);
     }
 
     /**
@@ -163,12 +153,7 @@
             }
         }
 
-        // @@@ Workaround for JDK-8011591 -- when fixed, replace s with constructor ref
-        Supplier<BooleanTerminalSink<Long>> s = new Supplier<BooleanTerminalSink<Long>>() {
-            @Override
-            public BooleanTerminalSink<Long> get() {return new MatchSink();}
-        };
-        return new MatchOp<>(StreamShape.LONG_VALUE, matchKind, s);
+        return new MatchOp<>(StreamShape.LONG_VALUE, matchKind, MatchSink::new);
     }
 
     /**
@@ -198,12 +183,7 @@
             }
         }
 
-        // @@@ Workaround for JDK-8011591 -- when fixed, replace s with constructor ref
-        Supplier<BooleanTerminalSink<Double>> s = new Supplier<BooleanTerminalSink<Double>>() {
-            @Override
-            public BooleanTerminalSink<Double> get() {return new MatchSink();}
-        };
-        return new MatchOp<>(StreamShape.DOUBLE_VALUE, matchKind, s);
+        return new MatchOp<>(StreamShape.DOUBLE_VALUE, matchKind, MatchSink::new);
     }
 
     /**