【发布时间】:2018-06-27 00:45:30
【问题描述】:
在下面的代码中,我从double、float 和String 构造了一些Double 变量。但是,根据文档,Double 只有接受double 和String 的构造函数,而不是float。那么这段代码是如何编译的呢?
Double d1 = new Double(2.5);
Double d2 = new Double(2.5f); //Why can I pass a float here?
Double d3 = new Double("2.5");
【问题讨论】:
-
双倍浮点数是什么意思?那个代码在哪里?在这里你只做双打
-
你可以看到我在 Double d2=new Double(2.5f); 中将浮点值解析为 Double 构造函数;行
-
而为什么你使用
new Double?您几乎不应该将new与包装类一起使用。 -
我的评论是指“我尝试将双精度值传递给浮点数,但它不起作用”...该代码不在这里
-
FWIW,
Double.parseDouble应该用在字符串上
标签: java floating-point double