Java: différent double et double en comparaison

Je sais que Double est une classe wrapper, et il s'enroule double nombre. Aujourd'hui, j'ai vu une autre différence importante :

double a = 1.0;
double b = 1.0;
Double c = 1.0;
Double d = 1.0;
System.out.println(a == b);  //true
System.out.println(c == d);  //false

Si étrange avec moi !!!

Donc, si nous utilisons Doubleà chaque fois, nous devons faire quelque chose comme ceci :

private static final double delta = 0.0001;
System.out.println(Math.abs(c-d) < delta); 

Je ne peux pas expliquer pourquoi un Double mettre directement la comparaison de mal. Veuillez expliquer pour moi.

Merci 🙂

source d'informationauteur hqt