无法理解此代码。三元运营商

时间:2017-05-23 09:22:11

标签: java

我无法理解这段代码。三元运营商让我很困惑。

  public Collection<V> values() {
    Collection<V> vs;
    return (vs = values) == null ? (values = new Values()) : vs;
}

谢谢, 的Manoj

1 个答案:

答案 0 :(得分:2)

这相当于:

public Collection<V> values() {
    Collection<V> vs = values;
    if (vs == null) {
        values = new Values();
        return values;
    } else {
        return vs;
    }
}