日期:2014-05-20  浏览次数:20700 次

一个数值三种表达方式的不同在哪里?
如题。

import java.util.*;

public class Test
{
public static void main(String [] args)
{
       int a = 10;
       
       Double x = Double.valueOf(a);  //为什么这一行的结果与下一行一样的?                                       
                                      //右边的返回值不是只有一种类型吗?要么Double,要么double?
                                      //为什么用Double与double都可以呢?
       double y = Double.valueOf(a);
       double z = Double.valueOf(a).doubleValue();//这一行应该是最正确的表达方式吧?
                                                  //  为什么上一行的表达也是正确的?
       System.out.println("x = " + x);
       System.out.println("y = " + y);
       System.out.println("z = " + z);             
       
}
}


------解决方案--------------------
总结一下: 建议LZ看一下Java自动打包解包机制
------解决方案--------------------
这个叫自动拆装箱 
------解决方案--------------------
Auto-Boxing  看你怎么翻译  没必要纠结这种问题吧

------解决方案--------------------
jdk6.0增加的新特性,自动拆箱和装箱,就是int和Integet在程序中自己帮你转换了!!!