4
以下代碼似乎破壞舊版Android設備上的Float.isNaN()邏輯。 的裝置:LG-GT540/Android2.3.7爲什麼Float.isNaN(Float.NaN)在舊的LG手機Android 2.3.7上是「假」?
[重要UPDATE] 船上的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));
這使得浮動。 isNaN(Float.NaN)返回「false」,這是錯誤的。
你知道爲什麼嗎?
這是JVM錯誤嗎?
在所有我們擁有的設備,該代碼會如期運行:
1, Float.isNaN=true
2, Float.isNaN=true
可是,在一箇舊的Android從LG第二NaN的測試失敗。
1, Float.isNaN=true
2, Float.isNaN=false
但爲什麼?!
解決此案件的任何想法都非常受歡迎!
看起來像一個bug – d3dave
謝謝!我們來看看還有其他人要說些什麼。有關解決方法的任何想法? – Pavel