仅将 float 和 double 的精确值与对象进行比较

Comparing float and double for exact values with objects only

我 运行 遇到了一个问题,我需要对两个对象进行某种精确的值比较。这里的问题是我不知道在哪个序列中收到它们...并且两者都作为纯 java 对象传递,没有原语。


public void compare(Object floatOrDouble, Object floatOrDouble){
  // How do we compare ? 
}

我们如何比较 float 对象和 double 对象的精确值而不知道哪个是哪个?这种情况下是否已经有某种实用程序?我们需要手动检查他们的 类 吗?

您可以将 2 个对象转换为 Double 然后进行比较。但如果对象不是 Double,则不能将对象转换为 Double。

因此您可以使用 new Double(object.toString()); 将 2 个对象转换为 String 然后转换为 Double 然后您可以安全地进行比较