double c=Integer.valueOf(a);与Double c=Double.valueOf(a);目前我运行这两个都可以执行成功,但不晓得中间到底有什么区别,而且如果写成doube c=double.valueOf(a);或者Double c=Integer.valueOf(a);都会报错,不太明白double和Double的区别
double c=double.valueOf(a)你这样肯定报错啦,应该改成double c=Double.valueOf(a)
因为double是基本数据类型,而Double是它的包装类,类有它自己的方法可以调用,而这句代码就是调用Double包装类的方法
a指的是什么类型?
如果能运行:double c=Integer.valueOf(a);能运行成功的原因是有自动拆箱以及类型装换的操作执行;
double是基础类型,没有自己的方法,所以不能调用。为了迎合面向对象,为了让double也有自己的方法,所以封装成包装类Double。
double是基本数据类型,Double是它的包装类,能调用方法,而基本数据类型不能调用