为什么AbstractList类实现set()方法



为什么AbstractList类实现set(int index,E元素)方法?它所做的只是抛出UnsupportedOperationException。

然而,它的所有子类(ArrayList、LinkedList、Vector)实现(重写)此方法,并为操作提供其逻辑。如果所有扩展AbstractList的类都提供了自己的逻辑,那么为什么这个方法是由AbstractList实现的呢。

这是为实现List接口的子类完成的。

例如,由asList方法创建的实用程序Arrays.ArrayList

List<Integer> readOnly = Arrays.asList(1, 2, 3);

不允许修改列表,所以它的set(int index, E element)方法抛出UnsupportedOperationException。此默认行为在AbstractList类中实现。

最新更新