java三元运算符可以替换为Math.max调用
我有以下代码为此delay = (delay>200) ? delay : 200;
Java发出警告消息Can be replaced with 'Math.max' call。
在这里我看到Math.max(a, b)实际上是一样的(a > b) ? a : b所以三元运算符并不比如果通过方法调用替换三元运算符没有优势,Math.max
为什么会Java发出此警告消息Math.max?
回答
我怀疑这是一个真正的编译器警告,可能是一些 IDE 检查/警告。
尽管如此,你是对的,没有什么技术上的理由让你更喜欢一个。
但是:从人类读者的角度来看,使用Math.max()有一个主要优势:更容易阅读和理解。就那么简单。
此外:除非必须,否则不要复制代码。
永远记住:您为人类读者编写代码。编译器接受任何语法正确的东西。但是对于您的人类读者来说,条件和分配与非常有说服力的“取两个数字的最大值”之间存在差异。