我试图使我的代码更具可读性,因此我决定使用一些简短的 IF 语句。
这是我的代码,它不起作用(“不是声明”):
jXPanel6.isVisible() ? jXPanel6.setVisible(true) : jXPanel6.setVisible(false);
这有什么问题吗?需要括号吗?在哪里?
“三元表达式”x ? y : z
只能用于有条件的情况任务。也就是说,你可以这样做:
String mood = inProfit() ? "happy" : "sad";
因为三元表达式返回一些东西(类型String
在此示例中)。
它并不是真的要用作短的内联if-else
。特别是,如果各个部分不返回值或返回不兼容类型的值,则无法使用它。 (因此,如果两个方法碰巧返回相同的值,您可以这样做,但您不应该仅出于副作用目的而调用它)。
因此,正确的方法是使用 if-else 块:
if (jXPanel6.isVisible()) {
jXPanel6.setVisible(true);
}
else {
jXPanel6.setVisible(false);
}
当然可以缩短为
jXPanel6.setVisible(jXPanel6.isVisible());
对我来说,后两种表达方式都更具可读性,因为它们更清楚地传达了您想要做的事情。 (顺便说一句,您是否以错误的方式获得了条件?看起来这无论如何都是无操作,而不是切换)。
不要混淆字符数少 with 可读性。重点是最容易理解的;轻微地滥用语言特征肯定会让读者感到困惑,或者至少让他们在心里犹豫不决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)