我正在阅读JDK源代码。我public Collection<V> values()
在课堂上看到一个方法HashMap
:
public Collection<V> values() {
Collection<V> vs = values;
if (vs == null) {
vs = new Values();
values = vs;
}
return vs;
}
Run Code Online (Sandbox Code Playgroud)
但是我认为这种逻辑会更简短些:
public Collection<V> values() {
if (values == null) {
values = new Values();
}
return values;
}
Run Code Online (Sandbox Code Playgroud)
我认为这背后一定有原因。请告诉我为什么。