我正在基于AbstractSequentialList实现一个不可修改的列表。现在,根据Oracle的文档:
对于不可修改的列表,程序员只需要实现列表迭代器的hasNext,next,hasPrevious,previous和index方法。
问题是,似乎我必须提供remove,set和add方法的实现,尽管由于列表的不可修改性,根本不需要这些方法,否则编译器会抱怨,因为这些方法未实现。
那么,我是在做错什么,还是这才是真正的方法?我应该实现这些方法并在其中抛出某种异常吗?
在此先多谢
只需使用UnsupportedOperationException
不需要实现的方法即可。如Iterator
/ListIterator
接口文档https://docs.oracle.com/javase/7/docs/api/java/util/ListIterator.html#remove()所指定
抛出:UnsupportedOperationException-如果此列表迭代器不支持remove操作。
例如
@Override
public void remove() {
throw new UnsupportedOperationException("Not supported yet.");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句