文章首发于:clawhub.club


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static void main(String[] args) {
Integer a = 1;
Integer b = 2;
Integer c = 3;
Integer d = 3;
Integer e = 321;
Integer f = 321;
Long g = 3L;
Long h = 2L;
// Integer 内部-128 到 127 之间数字的缓存机制
System.out.println(c == d); //true
// 超出了Integer 内部缓存机制
System.out.println(e == f);//false
// a+b 值为基本类型,基本类型和包装类型==比较,
// 包装类型会自动拆箱,成为基本类型
System.out.println(c == (a + b));//true
// true
System.out.println(c.equals(a + b));
//Long类型拆箱为基础类型
System.out.println(g == (a + b));//true
//equals比较,会先比较类型,g为Long a+b为基础int
System.out.println(g.equals(a + b));//false
//a+h向上转型,为Long
System.out.println(g.equals(a + h));//true
}