double i = Double.NaN;
Double.equals()的API
给出了答案:“
Double.NaN == Double.NaN的值为false”。Java语言规范中的“
浮点类型,格式和值
” 对此进行了详细说明:
NaN是无序的,所以数值比较运算<,<=,>,和>=
返回false如果任一或两个操作数都NaN。等于运算符==返回false如果操作数是NaN和不平等运营商!=的回报true,如果一个操作数的NaN。
特别是,x!=xistrue当且仅当xisNaN,并且 is(x<y) == !(x>=y)将当falseifx或yisNaN。



