double a=1;
Object b=a;
为什么在有的java环境下没错,在有的环境下就出错.是不是版本问题.
在平时编程的时候.Object b=a;这种写法是不是不规范.

解决方案 »

  1.   

    这种写法是可以的.
    Object是顶层类,所以任何的子类都可当作父类来看喽.
    但double是基本数据类型,他不属于Object的子类.
    在java 5.0提供的包装类中,任何一个基本数据类型都有一个包装类,如double的包装类为Double对象,
    在使用中涉及到概念:自动解封与自动封箱,
    自动解封: 包装类->基本数据类型
    自动封箱:基本数据类型->包装类
      

  2.   

    顶,jdk1.5以后就可以直接赋值了
      

  3.   

    在jdk1.5版本或以前的版本中他那种写法就是不可以,应为在前几个版本中没有自动装箱和拆箱的机制