package com.cpt.first;
/**
* @PackageName: com.cpt.first
* @ClassName: Test02
* @Author: cpt
* @Date: 2023/1/211:36
* @Description:
**/
public class Test02 {
private static Integer i99 = new Integer(678);
private static int i100 = new Integer(678);
public static void main(String[] args) {
int i1 = 780;
int i2 = 780;
// 基础类型
System.out.println(i1==i2);//true
Integer i3 = 127;
Integer i4 = 127;
// 会从常量池中去取
System.out.println(i3==i4); //true
//
Integer i5 = 128;
Integer i6= 128;
// 大于127 相当于自己new了一个新的
System.out.println(i5==i6);//false
int i7 = 666;
Integer i8 = 666;
System.out.println(i7==i8); // true
Integer i11 = new Integer(678);
Integer i10 = 678;
int i9= 678;
// true false true
System.out.println(i10==i9);
System.out.println(i11==i10);
System.out.println(i11==i9);
System.out.println(i99 == i11); //false
System.out.println(i100 == i11); //true
System.out.println(i99 == i100); //true
/*
* 总结做个: int类型(基础类型) 永远是一样的 不管数字时啥如何
* Integer类型就不行了 -128~127有缓存 所以不管是啥类型都是一样的
* 剩下的 就相当于是new 出来的就会不一样
*
* 有一个有意思的地方 自动拆装箱 =>相当于 一个int 一个Integer 又是一样的true
* */
}
}