当我查看java API的源代码时,我只是无法理解为什么这个参数应该是final?
public ListIterator<E> listIterator(final int index) {
rangeCheckForAdd(index);
return new ListItr(index);
}
这是AbstractList.Thanks的第324行
答案 0 :(得分:0)
factory.anotherFunction()
表示该方法无法更改参数的值。这主要用作代码内文档/限制,使编译器尝试将其修改为错误。它也可能是编译器和/或JVM用于优化目的的有用信息;例如,他们不必应用静态分析来查看参数是否永远不会改变,您必须强制这样做。当在使用常量值调用方法调用时内联时,这可能是特别有用的信息,例如在listIterator()
(没有参数)的实现中,这只是:{{1 }}