< prev index next >

src/java.base/share/classes/java/util/Set.java

Print this page
rev 48077 : 8193128: Reduce number of implementation classes returned by List/Set/Map.of()
Reviewed-by: smarks

*** 447,457 **** * @return an empty {@code Set} * * @since 9 */ static <E> Set<E> of() { ! return ImmutableCollections.Set0.instance(); } /** * Returns an unmodifiable set containing one element. * See <a href="#unmodifiable">Unmodifiable Sets</a> for details. --- 447,457 ---- * @return an empty {@code Set} * * @since 9 */ static <E> Set<E> of() { ! return ImmutableCollections.emptySet(); } /** * Returns an unmodifiable set containing one element. * See <a href="#unmodifiable">Unmodifiable Sets</a> for details.
*** 462,472 **** * @throws NullPointerException if the element is {@code null} * * @since 9 */ static <E> Set<E> of(E e1) { ! return new ImmutableCollections.Set1<>(e1); } /** * Returns an unmodifiable set containing two elements. * See <a href="#unmodifiable">Unmodifiable Sets</a> for details. --- 462,472 ---- * @throws NullPointerException if the element is {@code null} * * @since 9 */ static <E> Set<E> of(E e1) { ! return new ImmutableCollections.Set12<>(e1); } /** * Returns an unmodifiable set containing two elements. * See <a href="#unmodifiable">Unmodifiable Sets</a> for details.
*** 479,489 **** * @throws NullPointerException if an element is {@code null} * * @since 9 */ static <E> Set<E> of(E e1, E e2) { ! return new ImmutableCollections.Set2<>(e1, e2); } /** * Returns an unmodifiable set containing three elements. * See <a href="#unmodifiable">Unmodifiable Sets</a> for details. --- 479,489 ---- * @throws NullPointerException if an element is {@code null} * * @since 9 */ static <E> Set<E> of(E e1, E e2) { ! return new ImmutableCollections.Set12<>(e1, e2); } /** * Returns an unmodifiable set containing three elements. * See <a href="#unmodifiable">Unmodifiable Sets</a> for details.
*** 690,704 **** @SafeVarargs @SuppressWarnings("varargs") static <E> Set<E> of(E... elements) { switch (elements.length) { // implicit null check of elements case 0: ! return ImmutableCollections.Set0.instance(); case 1: ! return new ImmutableCollections.Set1<>(elements[0]); case 2: ! return new ImmutableCollections.Set2<>(elements[0], elements[1]); default: return new ImmutableCollections.SetN<>(elements); } } --- 690,704 ---- @SafeVarargs @SuppressWarnings("varargs") static <E> Set<E> of(E... elements) { switch (elements.length) { // implicit null check of elements case 0: ! return ImmutableCollections.emptySet(); case 1: ! return new ImmutableCollections.Set12<>(elements[0]); case 2: ! return new ImmutableCollections.Set12<>(elements[0], elements[1]); default: return new ImmutableCollections.SetN<>(elements); } }
< prev index next >