三元运算符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