私はそれDouble
がラッパークラスであることを知っています、そしてそれはdouble
数をラップします。今日、私は別の主な違いを見てきました:
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
私にはとても奇妙です!!!
したがって、を使用する場合はDouble
、毎回、次のようなことを行う必要があります。
private static final double delta = 0.0001;
System.out.println(Math.abs(c-d) < delta);
Doubleが直接比較を間違える理由を説明することはできません。説明してください。