Java基础-Int与Integet区别

本文探讨了Java中Int与Integer的区别,包括Int是基本数据类型,无需实例化,而Integer是其包装类,需要实例化。Integer对象在内存中的表示与int不同,且Integer的默认值为null,int为0。在比较时,Integer对象与int值相等时会自动拆箱比较,而不同方式创建的Integer对象因其内存地址不同导致比较结果可能为false。
摘要由CSDN通过智能技术生成

一、区别

1、Integer是int的包装类,int则是java的基本的数据类型

2、Integer变量必须实例化之后才能使用,而int变量不需要实例化

3、Integer实际是对象的引用,当new一个Integer时,实际上生成一个指针指引对象,而int则直接存储数值

4、Integet的默认值是null,而int的默认值是0

二、Integer和int的比较

        由于Integer实际是对一个Integer对象的引用,所以两个通过new生成的Integer变量永远是不相同的,因为New生成的是两个不同的对象,所以内存地址不同

public class test1 {
    public static void main(String[] args){
        Integer i=new Integer(1);
        Integer a=new Integer(1);
        System.out.println(i==a);
    }
}

结果

false

        Integer变量和int变量进行比较时,只要两个变量的值相等,则结果就为True,(因为包装类Integer和基本数据类型比较的时候,java会自动拆箱为int,然后进行比较,实际上就是两个int变量进行比较)

public class test1 {
    public static void main(String[] args){
        int i=new Integer(1);
        Integer a=new Integ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值