[英]How can I simplify this if statement?
基本上,我正在为学校做一个java程序。 我们需要使用的 checkstyle 程序表明我没有充分简化 if 语句。 有一个更好的方法吗?
我的代码:
if (check() == true)
{
return amount * 0.85;
}
else
{
return amount;
}
当您已经在使用布尔值时,无需添加== true
if (check()) {
...
}
else {
...
}
您可以使用三元运算符。
return check() ? amount * 0.85 : amount
将布尔值转换为整数,然后将其用作数组的索引 int 以获取要乘以amount
的值,并且您不需要if
或三元运算符:
return amount * (new double[] {1.0, 0.85}[Boolean.compare(check(), false)]);
我在开玩笑,请不要贬低我。 这是我能想到的最糟糕的方法。
严肃地说,样式检查程序主要关心你的表达式有多复杂以及有多少潜在的分支(圈复杂度),所以删除else
,不要比较true
和true
以获得true
,这应该足以使它快乐。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.