我的漫漫程序之旅

专注于JavaWeb开发
随笔 - 39, 文章 - 310, 评论 - 411, 引用 - 0
数据加载中……

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;
    }

其中有一个构造方法在方法里已经进行了向下转型。
所以这样写是没有问题的.


posted on 2007-12-28 09:37 々上善若水々 阅读(1056) 评论(0)  编辑  收藏 所属分类: Java笔试与面试


只有注册用户登录后才能发表评论。


网站导航: