三元运算符Java

Stefan Sprenger:

有没有办法在三元操作中实现这一点。我对这三元知识很陌生,也许您可​​以指导我。

if(selection.toLowerCase().equals("produkt"))
     cmdCse.setVisible(true);
else
     cmdCse.setVisible(false);

这个似乎无效。

selection.toLowerCase().equals("produkt")?cmdCse.setVisible(true):cmdCse.setVisible(false);
Stefano Sanfilippo:

在这种情况下,您甚至不需要三元运算符:

 cmdCse.setVisible(selection.toLowerCase().equals("produkt"));

或者,清洁工:

 cmdCse.setVisible(selection.equalsIgnoreCase("produkt"));

您的版本:

selection.toLowerCase().equals("produkt")? cmdCse.setVisible(true): cmdCse.setVisible(false);

在语义上是不正确的:三元运算符应表示替代的赋值,它不能完全替代if语句。还行吧:

double wow = x > y? Math.sqrt(y): x;

因为你要么分配xMath.sqrt(y)wow根据条件

我的2cents:仅在使程序更清晰时才使用三元运算符,否则最终将得到一些难以理解的单线。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章