我正在尝试学习AbstractList我发现一些方法总是抛出一个异常,我的问题是为什么设计这样?
/**
* {@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 E set(int index, E element) {
throw new UnsupportedOperationException();
}
public void add(int index, E element) {
throw new UnsupportedOperationException();
}
答案 0 :(得分:4)
Java语言设计者使用这种方法而不是添加可变和不可变的列表子类型,以避免集合类型层次结构中的爆炸。请参阅Java Collections API Design FAQ。