我已经知道如何比较花车了,这不是问题。
当我比较浮动时,我不能这样做:
if(flot1 == flot2) {
// do something
}
事实上,我总是被教导要做这样的事情:
if(Math.abs(float1 - float2) < epsilon) {
// do something
}
但问题是当我使用浮动包装器时...例如,方法等于()简单:
if(floatWrapper1.equals(floatWrapper2)) {
// do something
}
但阅读文档相当于:
if(floatWrapper1.floatValue() == floatWrapper2.floatValue()) {
// do something
}
与示例(2)相同,这是为了比较的错误。
在互联网上看,我发现了一些像这样的例子:
if(Float.compare(flotWrapper1, floatWrapper2) == 0) {
// do something
}
但是,我很想知道这是否正确。那么我应该如何比较两个浮动包装器呢?
答案 0 :(得分:2)
简单的答案是因为自动装箱,比较Float
与比较float
没什么不同。保存为空指针检查,您可以等效地对待它们。