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