hg: lambda/lambda/jdk: 8009736: static Comparator methods and narrowing type support
Michael Hixson
michael.hixson at gmail.com
Thu May 9 22:00:31 PDT 2013
Hi Henry,
That's wonderful that null-friendly comparators are available now!
Maybe that happened earlier and I just missed it, but it's great.
One minor detail - shouldn't NullComparator also override reverse()?
I bet reverse() would usually come at the end of the chain, but if it
didn't, I think you'd run into problems with this sequence of calls:
Comparator<String> c = Comparator.nullsFirst()
.thenComparing(String.CASE_INSENSITIVE_ORDER)
.reverse() // Not a NullComparator
.thenComparing(Comparator.naturalOrder());
List<String> list = Arrays.asList("a", null, "b", null);
list.sort(c); // Won't this throw NPE?
-Michael
On Thu, May 9, 2013 at 9:24 PM, <henry.jen at oracle.com> wrote:
> Changeset: 1b6b96644052
> Author: henryjen
> Date: 2013-05-09 21:24 -0700
> URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/1b6b96644052
>
> 8009736: static Comparator methods and narrowing type support
> Reviewed-by:
>
> ! src/share/classes/java/util/Comparator.java
> ! src/share/classes/java/util/Comparators.java
> ! src/share/classes/java/util/stream/SortedOps.java
> ! test/java/nio/file/DirectoryStream/StreamTest.java
> ! test/java/nio/file/Files/StreamTest.java
> ! test/java/util/Collection/ListDefaults.java
> ! test/java/util/Comparator/BasicTest.java
> ! test/java/util/Comparator/TypeTest.java
> ! test/java/util/Comparators/BasicTest.java
> ! test/java/util/List/ExtensionsTest.java
> ! test/java/util/List/SortAndReplaceAllTest.java
> ! test/java/util/stream/Stream/EmployeeStreamTest.java
> ! test/java/util/stream/Stream/IntegerStreamTest.java
> ! test/java/util/stream/Stream/StringBuilderStreamTest.java
> ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SequentialOpTest.java
> ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java
> ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SortedOpTest.java
> ! test/sun/misc/JavaLangAccess/NewUnsafeString.java
>
>
More information about the lambda-dev
mailing list