Float是float的包装类,float是基本的数据类型! java.lang:提供程序设计的基础类,其中包括了基本数据类型的包装类Boolean、Character、Byte、Short、Integer、Long、Float、Double Float a = 1.0f 基本数据类型和包装类会自动拆箱和装箱,1.0会默认是double,无法根据double类型的数值完成自动装箱。 Float a = new Float(1.0) java SE5 之前的基操
转: Float正确复制方式是Float f=1.0f,若不加f会被识别成double型,double无法向float隐式转换. Float a = new Float(1.0); 这个的东西能存在,是因为Float类中有形参是float和double的两个构造器。 Double d = new Double(1.0F);这个能成立的原因是float向上转型了。 Float a = 1.0;这个东西不成立是因为浮点型的默认类型是double,而double不会自动转成float,然后再装箱。 Double d = 1.0f;不成立的原因是因为Double类中的装箱方法,只有valueOf(String s)和valueOf(double d);装箱本身可不会自动向上转型啊。 联想:long a = 2;2的后面不加l或L是可以的,因为2是相对低精度的,int类型可以向上转成long类型