Integer.compare()
方法或来自 Long
、Short
、Byte
、Double
或 Float
类的类似方法(而非更冗长或更低效构造)的调用的表达式。
如果 x
和 y
是已装箱整数,则建议使用 x.compareTo(y)
;如果它们是基元,则建议使用 Integer.compare(x, y)
。
示例:
public int compare(int x, int y) {
return x > y ? 1 : x < y ? -1 : 0;
}
在应用快速修复后:
public int compare(int x, int y) {
return Integer.compare(x, y);
}
请注意,Double.compare
和 Float.compare
会略微更改代码语义。 特别是,它们会使 -0.0
和 0.0
可以区分(Double.compare(-0.0, 0.0)
生成 -1)。
此外,它们会一致地处理 NaN
值。 在大多数情况下,这种语义更改实际上会改进代码。 如果您的情况无法接受语义更改,请使用复选框禁用此项对浮点数的检查。
2017.2 最新变化