public class Test2 { public static void main(String[] args) { float a = 3.4; }} 这个简单的程序能不能编译通过呢? 其实是不能的。 原因是精度问题,应该用强制类型转换. float a = (float)3.4; 再来看看这个能不能编译通过 public class Test2 { public static void main(String[] args) { Float a = new Float(3.4); }} 其实是没问题的。 我们来看看Float类的源代码吧: public Float(double value) { this.value = (float)value; } 其中有一个构造方法在方法里已经进行了向下转型。 所以这样写是没有问题的. 々上善若水々 2007-12-28 09:37 发表评论