我已经知道如何比较 float ,这不是问题。
当我比较 float 时,我不能这样做:
if(flot1 == flot2) {
// do something
}
事实上,我总是被教导要做这样的事情:
if(Math.abs(float1 - float2) < epsilon) {
// do something
}
但问题是当我使用 float 包装器时...例如,有像 equal() 方法一样简单的方法:
if(floatWrapper1.equals(floatWrapper2)) {
// do something
}
但是阅读文档,这相当于:
if(floatWrapper1.floatValue() == floatWrapper2.floatValue()) {
// do something
}
这与示例(2)相同,出于比较目的而错误。
在互联网上查找,我发现了一些这样的例子:
if(Float.compare(flotWrapper1, floatWrapper2) == 0) {
// do something
}
但是,我想知道这是否也正确。那么我应该如何比较两个 float 包装器?
最佳答案
简单的答案是因为自动装箱,比较Float
与比较float
没有什么不同。除了空指针检查之外,您可以同等对待它们。
关于java - 如何正确比较 Java 中的两个 Float 包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32700689/