我会说,您所拥有的已经是最好的方法。很明显,您对值的 按位 表示感兴趣。您碰巧将那些位转换
long为没有任何时髦行为的便捷的64位类型。
如果您不希望它频繁出现在您的代码库中,只需添加一个包装方法即可:
public static boolean bitwiseEqualsWithCanonicalNaN(double x, double y) { return Double.doubleToLongBits(x) == Double.doubleToLongBits(y);}
请注意,根据您的问题,这 不能
区分不同的NaN值。如果您想在以后进行此 *** 作,则需要使用
Double.toRawLongBits。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)