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?
局部变量加
final
的原因有很多,你这里的主要原因是避免了被重新赋值。