解决方案 »
- bufferedwrite的一个小小问题
- 读一次配置文件,多次使用。用什么方式来实现比较好?
- 关于泛型的<? extends x>
- IO读取文件..内容变了
- eclipse导出包,运行那个包出现:could not find the main class program will exit;
- 请问谁有jmf api 对应的源码
- JAVA什么类型的程序才要Main()函数?
- comboBox的问题
- 使用JADE时出现的问题,请帮忙。
- 组件如何放到窗体中?(请勿见笑)
- 来请教一个关于HTTPREQUEST和 HTTPRESPONSE问题
- Exception in thread "main" java.lang.NoSuchMethodError:main
但几个基本数据类型却没有这个特性
故 在 1.5 后提供了几个基本类型的封装类
装箱就是 比如 integer i = 100; 这个就自动装箱了
拆箱 int j = i + 10; // 借用上边声明的 i
Integer integer = new Integer(10);在 J2SE 5.0 之后您可以这么写:
Integer integer = 10;事实上编译器在背后自动根据您写下的描述,为您进行自动装箱(Autoboxing)动作,同样的动作可以适用于 boolean、byte、short、char、long、float、double等基本类型,分别会使用对应的包裹类型(Wrapper Types)Boolean、Byte、Short、Character、Integer、Long、Float或Double。自动装箱运用的方法还可以如下:
int i = 10;
Integer integer = i;
您也可以使用更一般化的Number,例如:
Number number = 3.14f;3.14f会先被自动装箱为Float,然后指定给number。J2SE 5.0中可以自动装箱,也可以自动拆箱(Unboxing),例如下面这样写是可以的:
Integer fooInteger = 10;
int fooPrimitive = fooInteger;
在运算时,也可以自动装箱与拆箱,例如:
Integer i = 10;
System.out.println(i + 10);
System.out.println(i++);上例中会显示20与10,编译器会自动帮您进行自动装箱与拆箱,即10会先被装箱,然后在i + 10时会先拆箱,进行加法运算;i++该行也是先拆箱再进行递增运算。再来看一个例子:
Boolean boo = true;
System.out.println(boo && false);同样的,先将boo拆箱,再与false进行AND运算,结果会显示false。