[英]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.