自动装箱和自动拆箱

这篇博客探讨了Java中的自动装箱和拆箱机制,以及如何进行基本数据类型与引用数据类型的比较。文章指出,-128到127之间的整数会放入常量池,导致特定情况下使用‘==’比较时返回true。此外,还解释了对象引用的内存地址比较原则。
摘要由CSDN通过智能技术生成
public class IntegerTest {
    public static void main(String[] args) {
        //自动装箱 基本数据类型--->包装
        int x=900;
        Integer y=x;
        System.out.println("int类型x为"+x+"\n"+"Integer类型y为"+y);
        //自动拆箱 包装---->基本数据类型
        Integer i=100;
        Integer I=100;
        //这里的i是一个对象 保存的是一个内存地址
        //能相加的一定是基本数据类型 这里进行了自动拆箱
        System.out.println(i+1);
        System.out.println(i==I);
        Integer a=1000;
        Integer b=1000;
        System.out.println(a==b);
    }
}

在Java中 -128-127内的数字会放入整数型常量池 所以上面代码第一个==结果为true

直接从整数型常量池取出来 不需要new对象 Integer类加载的时候 会初始化整数256个对象

==对于基本数据类型的比较 会看二者的内容是否相等 而对于引用数据类型 则判断内存地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值