读书人

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

发布时间: 2013-12-15 22:17:18 作者: rapoo

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

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在程序中自己帮你转换了!!!

读书人网 >J2SE开发

热点推荐