[英]Why Float.isNaN(Float.NaN) is “false” on an old LG phone Android 2.3.7?
以下代码似乎破坏旧Android设备上的Float.isNaN()逻辑。 该设备:LG-GT540 / Android2.3.7
[重要更新] Android上的Android是SwiftDroid v2.0 ASIS(基于CyanogenMod-7.1.0)
int a = 2;
float b = a;
Log.d("yo", "1, Float.isNaN=" + Float.isNaN(Float.NaN));
boolean test = (b == 2);
Log.d("yo", "2, Float.isNaN=" + Float.isNaN(Float.NaN));
这使得Float.isNaN(Float.NaN)返回“false”,这是错误的。
你知道为什么吗?
这是JVM错误吗?
在我们拥有的所有设备上,代码按预期运行:
1, Float.isNaN=true
2, Float.isNaN=true
但是在LG的旧Android上,第二次NaN测试失败了。
1, Float.isNaN=true
2, Float.isNaN=false
但为什么?!
任何解决这个案例的想法都是非常受欢迎的!
根据wiz3kid的评论,这是一个错误。 可能该错误与修改SwiftDroid v2.0 ASIS(基于CyanogenMod-7.1.0)有关
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.