日期:2014-05-20  浏览次数:21211 次

关于Float.NaN
float   temp   =   Float.NaN;
if(temp   ==   Float.NaN){
System.out.println( "ok ");
}
System.out.println( "end ");
 
float   temp2   =   Float.POSITIVE_INFINITY;
if(temp2   ==   Float.POSITIVE_INFINITY){
System.out.println( "ok ");
}
System.out.println( "end ");


输出结果为:
end
ok
end

当然,用Float.IsNaN   结果不同。但我想知道为什么?谢谢各位


------解决方案--------------------
static public boolean isNaN(float v) {
return (v != v);
}


这个就是isNaN的实现,可见NaN不等于任何东西,包括它自身