栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础-Int与Integet区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础-Int与Integet区别

一、区别

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 Integer(1);
        System.out.println(i==a);
    }
}
结果
true

        非new生成的Integer变量和new Integer生成的Integer变量比较的时候,结果为false(因为非new生成的Integer变量指向的是Java常量池中的对象,而new出来的对象指向的是堆中新建的对象,两者内存地址不同)

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1035098.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号