`

2007最后一套JAVA面试题解析(Float)

阅读更多
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 发表评论
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics