我在Google Guava Github上找到了这段代码,我无法弄清楚为什么在第 5 行,rowMap如果条件满足,该方法不返回 void:
private transient @MonotonicNonNull Map<R, Map<C, V>> rowMap;
public Map<R, Map<C, V>> rowMap() {
Map<R, Map<C, V>> result = rowMap;
return (result == null) ? rowMap = createRowMap() : result;
}
Map<R, Map<C, V>> createRowMap() {
return new RowMap();
}
这条线不会等同于:
if (result == null) {
return rowMap = createRowMap();
} else {
return result;
}
然后对 rowMap 的赋值将返回 void。我错过了什么?
慕盖茨4494581
MMTTMM
相关分类