繁体   English   中英

这段代码中的三元运算符是如何工作的?

[英]How does the Ternary Operator work in this piece of code?

我有一个函数的一小段代码来设置颜色,如下所示:

private Color color = Color.CYAN;

public void setColor(Color c) {
        color = c != null ?c :color;
        repaint();
    }

它是这样的意思吗?

color = c;
if (c != null) {
        color = c;
        } else {
        c = color;
}

我真的无法理解这段代码。 请赐教。

它更像是

if (c != null) {
    color = c;
} else {
    color = color;
}

反过来,因为color = color; 基本上什么都不做,等同于:

if (c != null) {
    color = c;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM