问答详情
源自:3-4 Java 中基本类型和字符串之间的转换

double和Double

 Double a =  Double.valueOf(str);

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

提问者:慕九州9269295 2015-05-19 09:57

个回答

  • 无敌的大鹏鸟
    2015-08-04 18:23:48
    已采纳

     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);更合理

  • double_kill
    2015-11-29 10:50:19

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

  • 伊兮尘昔
    2015-05-19 10:43:39

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