open Cdiff src/java.base/share/classes/java/util/List.java (original) (raw)
rev 48077 : 8193128: Reduce number of implementation classes returned by List/Set/Map.of() Reviewed-by: smarks
*** 786,796 **** * @return an empty {@code List} * * @since 9 */ static List of() { ! return ImmutableCollections.List0.instance(); }
/**
* Returns an unmodifiable list containing one element.
*
--- 786,796 ---- * @return an empty {@code List} * * @since 9 */ static List of() { ! return ImmutableCollections.emptyList(); }
/**
* Returns an unmodifiable list containing one element.
*
*** 802,812 **** * @throws NullPointerException if the element is {@code null} * * @since 9 */ static List of(E e1) { ! return new ImmutableCollections.List1<>(e1); }
/**
* Returns an unmodifiable list containing two elements.
*
--- 802,812 ---- * @throws NullPointerException if the element is {@code null} * * @since 9 */ static List of(E e1) { ! return new ImmutableCollections.List12<>(e1); }
/**
* Returns an unmodifiable list containing two elements.
*
*** 819,829 **** * @throws NullPointerException if an element is {@code null} * * @since 9 */ static List of(E e1, E e2) { ! return new ImmutableCollections.List2<>(e1, e2); }
/**
* Returns an unmodifiable list containing three elements.
*
--- 819,829 ---- * @throws NullPointerException if an element is {@code null} * * @since 9 */ static List of(E e1, E e2) { ! return new ImmutableCollections.List12<>(e1, e2); }
/**
* Returns an unmodifiable list containing three elements.
*
*** 1029,1043 **** @SafeVarargs @SuppressWarnings("varargs") static List of(E... elements) { switch (elements.length) { // implicit null check of elements case 0: ! return ImmutableCollections.List0.instance(); case 1: ! return new ImmutableCollections.List1<>(elements[0]); case 2: ! return new ImmutableCollections.List2<>(elements[0], elements[1]); default: return new ImmutableCollections.ListN<>(elements); } }
--- 1029,1043 ---- @SafeVarargs @SuppressWarnings("varargs") static List of(E... elements) { switch (elements.length) { // implicit null check of elements case 0: ! return ImmutableCollections.emptyList(); case 1: ! return new ImmutableCollections.List12<>(elements[0]); case 2: ! return new ImmutableCollections.List12<>(elements[0], elements[1]); default: return new ImmutableCollections.ListN<>(elements); } }