RFR 8023367 Collections.emptyList().sort((Comparator)null) throws NPE
Mike Duigou
mike.duigou at oracle.com
Tue Aug 20 16:27:32 UTC 2013
Looks OK to me.
On Aug 20 2013, at 08:39 , Paul Sandoz wrote:
> Hi,
>
> Please see below for a simple fix to stop throwing an NPE on Collections.emptyList().sort(null);
>
> Paul.
>
> http://hg.openjdk.java.net/lambda/lambda/jdk/rev/67e00b862126
>
> diff -r 3647aab7b1d5 src/share/classes/java/util/Collections.java
> --- a/src/share/classes/java/util/Collections.java Tue Aug 06 14:26:34 2013 +0100
> +++ b/src/share/classes/java/util/Collections.java Tue Aug 20 17:38:16 2013 +0200
> @@ -4508,7 +4508,6 @@
> }
> @Override
> public void sort(Comparator<? super E> c) {
> - Objects.requireNonNull(c);
> }
>
> // Override default methods in Collection
> diff -r 3647aab7b1d5 test/java/util/Collection/ListDefaults.java
> --- a/test/java/util/Collection/ListDefaults.java Tue Aug 06 14:26:34 2013 +0100
> +++ b/test/java/util/Collection/ListDefaults.java Tue Aug 20 17:38:16 2013 +0200
> @@ -49,6 +49,7 @@
>
> /**
> * @test
> + * @bug 8023367
> * @library testlibrary
> * @build CollectionAsserts CollectionSupplier
> * @run testng ListDefaults
> @@ -100,6 +101,7 @@
> @DataProvider(name="listProvider", parallel=true)
> public static Object[][] listCases() {
> final List<Object[]> cases = new LinkedList<>();
> + cases.add(new Object[] { Collections.emptyList() });
> cases.add(new Object[] { new ArrayList<>() });
> cases.add(new Object[] { new LinkedList<>() });
> cases.add(new Object[] { new Vector<>() });
> @@ -128,6 +130,11 @@
> list.removeIf(null);
> fail("expected NPE not thrown");
> } catch (NullPointerException npe) {}
> + try {
> + list.sort(null);
> + } catch (Throwable t) {
> + fail("Exception not expected: " + t);
> + }
> }
>
> @Test
More information about the core-libs-dev
mailing list