Double.NaN是一个对象

JVC*_*ABU 1 java

public class Double1 {    

    public static double parseDouble(String _s, double _def) {
        try {
            return Double.parseDouble(_s);
        }
        catch(Exception e) {
        }
        return _def;
    }

    public static void main(String[] args) {
        Double1 db=new Double1();
        boolean ab=db.parseDouble("vijay", Double.NaN)!=Double.NaN?true:false;
        System.out.println("ab value: "+ ab);
        System.out.println(Double.NaN==Double.NaN);
    }
}
Run Code Online (Sandbox Code Playgroud)

它应该返回true上面代码返回的位置false.为什么?

Voo*_*Voo 14

NaN比较一切 - 包括他们自己.

您可以查看NaN

Double.isNaN(doubleValue)
Run Code Online (Sandbox Code Playgroud)

除了使用这种行为之外,其他什么都没有:值x是NaN if x != x.