一个数值三种表达方式的不同在哪里?
如题。
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在程序中自己帮你转换了!!!