java基础
基本数据类型
类型名 | 大小 |
---|---|
byte | 8bit |
char | 16bit |
short | 16bit |
int | 32bit |
float | 32bit |
double | 64bit |
boolean | 仅有true 和 false两种可能 |
包装类型
赋值是自动调用装箱,取值时自动装箱
Integer x = 2;//自动调用Integer.valueof(2)
int y = x;//自动调用x,intValue()
赋值\缓存池
new Integer(123)和Integer.valueOf(123)的区别:
方法 | 特点 |
---|---|
new Integer(123) | 每次都会new一个新的对象 |
Integer x = new Integer(123);
Integer y = new Integer(123);
System.out.println(x == y); // false
方法 | 特点 |
---|---|
Integer.valueOf(123) | 调用缓存池多次调用引用同一个对象 |
Integer z = Integer.valueOf(123);
Integer k = Integer.valueOf(123);
System.out.println(z == k); // true
valueOf() 方法的实现先判断值是否纯在缓存池如果在直接返回缓存池内容
在 Java 8 中,Integer 缓存池的大小默认为 -128~127。
https://cyc2018.github.io/CS-Notes/#/notes/Java%20%E5%9F%BA%E7%A1%80