我知道这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
Run Code Online (Sandbox Code Playgroud)
对我这么奇怪!!!
所以,如果我们Double
每次使用,我们必须做这样的事情:
private static final double delta = 0.0001;
System.out.println(Math.abs(c-d) < delta);
Run Code Online (Sandbox Code Playgroud)
我无法解释为什么Double直接比较错误.请解释一下.
谢谢 :)
double [] dou = new double [12];
Double [] dou = new Double [12];
Run Code Online (Sandbox Code Playgroud)
你们(在这两种情况下)是如何相互不同的?
我试图打印dou [0](没有任何初始化)第一个案例显示0.0而第二个显示null可以任何人告诉我为什么会发生这种情况?
提前致谢