生成的集合是不可变集合,不能进行add和addll操作,这个生成的不是ArrayList,而是它的内部类list,集成的抽象类,如果没有自己实现就会报错,
/**
* {@inheritDoc}
*
* <p>This implementation always throws an
* {@code UnsupportedOperationException}.
*
* @throws UnsupportedOperationException {@inheritDoc}
* @throws ClassCastException {@inheritDoc}
* @throws NullPointerException {@inheritDoc}
* @throws IllegalArgumentException {@inheritDoc}
* @throws IndexOutOfBoundsException {@inheritDoc}
*/
public void add(int index, E element) {
throw new UnsupportedOperationException();
}
下面是测试和源码
//测试
public static void main(String[] args) {
System.out.println(RedisUtil.class.getTypeName());
List<Integer> list = Arrays.asList(22);
List<Integer> list2 = new ArrayList<>();
list2.add(22);
list.addAll(list2);
list.add(3);
}