Java 自动装箱与自动拆箱

1. Java5之后,支持基本数据类型与包装类型的互相转换,即自动装箱与自动拆箱

2. 做加减乘除运算时会自动拆箱,而==比较不会

Integer x=1000;
Integer y=1000;
System.out.println(x==y);//false
// ==比较的是x和y的地址,两个对象放在堆中

3. Integer常量池范围:-128~127(byte取值范围)

Integer x=127;
Integer y=127;
System.out.println(x==y);//true    

Java中为了提高程序效率,将-128~127范围内的包装对象提前创建好,放在“整数型常量池”中,不再需要new出来,直接取;

池本质上是一种缓存机制

4. Object类的toString()方法就是将对象的hashcode,利用Integer.toHexString()转为十六进制输出

System.out.println(new Object());
//java.lang.Object@29453f44
原文地址:https://www.cnblogs.com/Kinghao0319/p/14402817.html