diff --git a/src/java.base/share/classes/java/util/Arrays.java b/src/java.base/share/classes/java/util/Arrays.java index 76a5ec6894d..215d4dbc938 100644 --- a/src/java.base/share/classes/java/util/Arrays.java +++ b/src/java.base/share/classes/java/util/Arrays.java @@ -28,6 +28,7 @@ package java.util; import jdk.internal.HotSpotIntrinsicCandidate; import jdk.internal.util.ArraysSupport; +import java.io.Serializable; import java.lang.reflect.Array; import java.util.concurrent.ForkJoinPool; import java.util.function.BinaryOperator; @@ -4288,21 +4289,41 @@ public class Arrays { // Misc /** - * Returns a fixed-size list backed by the specified array. (Changes to - * the returned list "write through" to the array.) This method acts - * as bridge between array-based and collection-based APIs, in - * combination with {@link Collection#toArray}. The returned list is - * serializable and implements {@link RandomAccess}. + * Returns a fixed-size list backed by the specified array. Changes made to + * the array will be visible in the returned list, and changes made to the + * list will be visible in the array. The returned list is + * {@link Serializable} and implements {@link RandomAccess}. + * + *
The returned list implements the optional {@code Collection} methods, except + * those that would change the size of the returned list. Those methods leave + * the list unchanged and throw {@link UnsupportedOperationException}. + * + * @apiNote + * This method acts as bridge between array-based and collection-based + * APIs, in combination with {@link Collection#toArray}. + * + *
This method provides a way to wrap an existing array: + *
{@code + * Integer[] numbers = ... + * ... + * List* *values = Arrays.asList(numbers); + * }
This method also provides a convenient way to create a fixed-size * list initialized to contain several elements: - *
- * List<String> stooges = Arrays.asList("Larry", "Moe", "Curly"); - *+ *
{@code + * List+ * + *stooges = Arrays.asList("Larry", "Moe", "Curly"); + * }
The list returned by this method is modifiable.
+ * To create an unmodifiable list, use
+ * {@link Collections#unmodifiableList Collections.unmodifiableList}
+ * or Unmodifiable Lists.
*
* @param