包装类--(2)

本文详细探讨了Java中的Integer类使用常量池优化内存、包装类对象相等性判断以及自动装箱与手动装箱的区别,通过实例展示了不同情况下equals方法的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
* 1.判断基本类型是否相同
* 2.判断两个对象是否是同一个对象/两个引用的地址
* Integer - 类
* 池化技术
*  内存池
*  线程池
*  连接池
* 1.包装类的常量池 = Integer
*   在类加载时创建-128~127范围的数字对应的Integer类的对象,后续如果需要Integer类的对象就从常量池中获取
*   如果常量池也没有对应的对象,就去创建新的对象
* 如何判断包装类的对象是否相等
* equals
* 3.哪些包装类没有常量池
* Float Double
* 4.自动装箱 - 本质:手动装箱
* */
public class MyTest2 {
    public static void main(String[] args) {
        Integer i1 = Integer.valueOf(10);
        Integer i2 = Integer.valueOf(10);
        System.out.println(i1 == i2);//t
        System.out.println(i1.equals(i2));//t
        System.out.println("++++++++++++++++++++++++++++");
        Integer i3 = Integer.valueOf(127);
        Integer i4 = Integer.valueOf(127);
        System.out.println(i3 == i4);//t
        System.out.println(i3.equals(i4));//t
        System.out.println("++++++++++++++++++++++++++++");
        Integer i5 = Integer.valueOf(128);
        Integer i6 = Integer.valueOf(128);
        System.out.println(i5 == i6);//f
        System.out.println(i5.equals(i6));//t
        System.out.println("++++++++++++++++++++++++++++");
        Integer i7 = Integer.valueOf(-128);
        Integer i8 = Integer.valueOf(-128);
        System.out.println(i7 == i8);//t
        System.out.println(i7.equals(i8));//t
        System.out.println("++++++++++++++++++++++++++++");
        Integer i9 = Integer.valueOf(-129);
        Integer i10 = Integer.valueOf(-129);
        System.out.println(i9 == i10);//f
        System.out.println(i9.equals(i10));//t
        System.out.println("++++++++++++++++++++++++++++");
        Integer i11 = 10;
        Integer i12 = 10;
        System.out.println(i1 == i12);//t
        System.out.println(i11.equals(i12));//t
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值