关于java集合源码里面final的问题

private void linkFirst(E e) {
    final Node<E> f = first;
    final Node<E> newNode = new Node<>(null, e, f);
    first = newNode;
    if (f == null)
        last = newNode;
    else
 f.prev = newNode;
    size++;
    modCount++;
}

LinkedList源码里面方法的局部变量为什么都会加上final?

阅读 1.8k
2 个回答

局部变量加 final 的原因有很多,你这里的主要原因是避免了被重新赋值。

final 局部变量使其是地址不能被改变。说白了就是不能被重新赋值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题