ConcurrentHashMap に関する JDK のソース コードを読みました。
しかし、次のコードは私を混乱させました:
public boolean isEmpty() {
final Segment<K,V>[] segments = this.segments;
...
}
私の質問は:
「this.segments」が宣言されています。
final Segment<K,V>[] segments;
したがって、ここでは、メソッドの先頭で、同じ型参照を宣言し、同じメモリを指します。
著者はなぜこのように書いたのでしょうか。this.segments を直接使用しなかったのはなぜですか? 何か理由はありますか?