转自:http://www.cnblogs.com/danne823/archive/2011/04/22/2025332.html 蛋呢 的空间 ??什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供的功能. 一般我们要创建一个类的对象的时候,我们会这样: Class a = new Class(parameter); 当我们创建一个Integer对象时,却可以这样: Integer i = 100; (注意:不是 int
Java 自动装箱与拆箱 ??什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供的功能. 一般我们要创建一个类的对象的时候,我们会这样: Class a = new Class(parameter); 当我们创建一个Integer对象时,却可以这样: Integer i = 100; (注意:不是 int i = 100; ) 实际上,执行上面那句代码的时候,系统为我们执行了:Integer i = new Integer
对于java1.5引入的自动装箱拆箱,之前只是知道一点点,最近在看一篇博客时发现自己对自动装箱拆箱这个特性了解的太少了,所以今天研究了下这个特性.以下是结合测试代码进行的总结. 测试代码: int a = 1; Integer b = 1; Integer c = 1; Integer d = 2; Integer e = 3; Integer f = 128; Integer g = 128; Long h = 3L; Double m = 4.0; Double n = 4.0; Float
box(装箱)消耗大 box在堆栈中创建一个新的对象,性能消耗大 int i = 123; // Boxing copies the value of i into object o. object o = i; 示意图 unboxing(拆箱) 检查对象实例 将该值从实例复制到值类型变量中 int i = 123; // a value type object o = i; // boxing int j = (int)o; // unboxing 示意图 总结 装箱和折箱都会引用性能的消耗,
一) 装箱与拆箱 Java中有概念是一切皆对象,因为所有的类都默认继承自Object.但是,对于数据类型是个例外,如short,int,long,float,double, byte,char,boolean.为了同一“一切接对象“这个概念,Java提供了装箱和拆箱功能. 也就是说Java为上面这八种数据类型提供了对应的Java类(包装类)实现.如下: int Integer short Short long Long float Float double Double byte Byte c
一.增强型for循环: 语法格式: 打印: A B C D E 当遍历集合或数组时,如果需要访问集合或数组的下标时,最好使用旧的方法来便利或循环,而不要用增强型for循环,因为它丢失了下标信息. 对于二维数组的循环: 二.自动装箱拆箱: 自动装箱就是对于基本数据类型: Integer i = 100; // 就等价于 Integer i = new Integer(100); 自动的把i装箱为一个对象. 自动拆箱: int n = i; // 只要是把i当成变量使用时,就是自
JDK1.5的升级引入了装箱和拆箱概念,简单说就是为了简化书写. JDK1.5之前,创建Integer对象是需要这么写的 Integer i = new Integer("3"); JDK1.5之后,有了自动装箱,创建Integer对象时,我们可以这样写 Integer i = 5; int num = 3; num = num + 4 //这样写在JDK1.5中是没有问题的 Integer x = 3; x = x + 4; 这样以来Integer就拥有了和 int 基本类型一样