最佳答案
我阅读了 JDK 关于 ConcurrentHashMap 的源代码。
但是下面的代码让我很困惑:
public boolean isEmpty() {
final Segment<K,V>[] segments = this.segments;
...
}
我的问题是:
声明为:
final Segment<K,V>[] segments;
因此,在这里,在方法的开头,声明了一个相同的类型引用,指向相同的内存。
为什么作者要这样写? 为什么他们不直接用这个段落? 有什么原因吗?