java自动装箱和拆箱

自动装箱:将基本数据类型转为包装器类型

当我们创建一个类的对象实例的时候,例如:

Integer i=new Integer(100); 在jdk1.5之后  Integer i=100;就可以啦!这就是装箱。在装箱的时候调用的是Integer的ValueOf(int)方法,在拆箱的时候调用的是intValue方法

基本数据类型对应的包装器类型:

int(4字节) Integer
byte(1字节) Byte
short(2字节) Short
long(8字节) Long
float(4字节) Float
double(8字节) Double
char(2字节) Character
boolean(未定) Boolean

拆箱:将包装器类型转为基本数据类型

Integer i =100;//装箱
int a=i;//拆箱</span>
valueof源代码
如果i在-127<i<128 系统会访问Cache
public class Test {
	public static void main(String[] args) {
		Integer a=100;
		Integer b=100;
		System.out.println(a==b);
		Integer c=300;
		Integer d=300;
		System.out.println(c==d);
	}
}
</pre><pre name="code" class="java">true
false


   public static Integer valueOf(int i) {
        if (i >= IntegerCache.low && i <= IntegerCache.high)
            return IntegerCache.cache[i + (-IntegerCache.low)];
        return new Integer(i);
    }
intvalue源代码
 public int intValue() {
        return value;
    }







阅读更多
文章标签: 自动装箱与拆箱
个人分类: java基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

java自动装箱和拆箱

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭