List Created like this
List<Integer> list = Arrays.asList(array);
** *: If you use the add method etc., a run-time error will occur ** Since it only refers to array, if you change array, it will be reflected.
ArrayList Created like this
List<Integer> arrayList = new ArrayList<Integer>(Arrays.asList(array));
As you pointed out and the content was interesting, it is described
The reason for throwing an exception when using the ʻadd method of ʻArrayList, which is the return value of ʻArrays.asList (array)`, is as follows.
class does not inherit from the ʻadd method and uses the ʻadd` method of the parent class. inherited by the ʻArrayList class implements ʻadd` to throw an exception (because it is premised on overriding). is an inner class of ʻArrays and is different from ʻArrayList` in the text.Recommended Posts