“三元表达式”
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());
对我而言,后两种表达方式更具可读性,因为它们可以更清楚地传达您正在尝试执行的操作。(顺便说一句,您是否以错误的方式获得了您的条件?无论如何,这看起来像是无操作,而不是拨动开关)。
不要把 字符数少 和 可读性 混在一起。关键是最容易理解的东西。并轻度滥用语言功能是迷惑读者的一种明确方法,或者至少使他们产生了心理上的双重误读。



