为了账号安全,请及时绑定邮箱和手机立即绑定

double和Double

 Double a =  Double.valueOf(str);

我看程序中有这样一句,不是说转换成基本类型吗,基本类型不是double吗,怎么又成了Double?我两种输入都尝试了,都能正确运行,为什么呢

正在回答

3 回答

 Double a =  Double.valueOf(str);这里前后两个Double是一对相呼应规范操作,表示的是把字符串转换成基本类型,你把前面的Double换成double得到的结果是一样的,但意义不同,

 double a =  Double.valueOf(str);这里的意思是定义一个double类型的变量a来接收由字符串转换位基本类型的值;而 Double a =  Double.valueOf(str);是类型之间的转换,此处a代表Double类,而你要实现的是类型间的转换,用Double a =  Double.valueOf(str);更合理

0 回复 有任何疑惑可以回复我~
#1

慕九州9269295 提问者

非常感谢!
2015-11-30 回复 有任何疑惑可以回复我~

Double a 此处的a是一个Double类型的对象。  double a中的a是一个基本数据类型。那么为什么它们输出的结果都一样呢,此处的确让人费解,其实程序自己帮你做了自动拆箱处理,看上一节的教程,自动拆箱,即把Double a对象当作double a基本类型来用时,程序自动帮你把a对象转化成了a基本数据类型。当然你可以写成手动拆箱,这样看的更清晰

0 回复 有任何疑惑可以回复我~

每个基本类型,都有一个对应的引用了类型。你这么写是讲str转换成Double类型的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

double和Double

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信