Mengapa Double.NaN == Double.NaN menghasilkan false?

Saya baru saja mempelajari pertanyaan OCPJP dan saya menemukan kode aneh ini: public static void main(String a[]) { System.out.println(Double.NaN==Double.NaN); System.out.println(Double.NaN!=Double.NaN); } Ketika saya menjalankan kode, saya mendapat: false true Bagaimana hasilnya falseketika...