编程语言
首页 > 编程语言> > 三元运算符Java

三元运算符Java

作者:互联网

有没有办法在三元操作中实现这一点.我对那些三元组的东西很新,也许你可以指导我.

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

这个似乎不起作用.

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

解决方法:

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

 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;

因为你要分配x或Math.sqrt(y)来哇,这取决于条件.

我的2cents:只有当你的程序更清晰时才使用三元运算符,否则你最终会得到一些难以理解的单行程序.

标签:ternary,java,ternary-operator
来源: https://codeday.me/bug/20190915/1806054.html