Java中Int和Integer有什么区别

  • 来源:网络
  • 更新日期:2020-07-09

摘要:区别如下:(推荐学习:java入门)1、int 是基本类型,直接存数值;而integer是引用数据类型。2、Int的声明不需要实例化,且变量声明后的初始值为0;Integer是一个类,初始值为null,需要进行实

区别如下:

(推荐学习:java入门)

1、int 是基本类型,直接存数值;而integer是引用数据类型。

2、Int的声明不需要实例化,且变量声明后的初始值为0;Integer是一个类,初始值为null,需要进行实例化,才能对变量数据进行处理。

3、Integer类是int的包装类,实际开发中Integer被看成一个对象,可以进行数据转换等操作。

示例:

        Integer num1 = 200;   
        Integer num2 = 200;           
        System.out.println("num1==num2: "+(num1==num2));                    
        Integer num3 = 100;   
        Integer num4 = 100;   
        System.out.println("num3==num4: "+(num3==num4));

输出结果:

num1==num2:false
num3==num4:true

(视频教程推荐:java视频教程)

分析:

首先要明确equal方法与==的区别:

equals() 比较的是两个对象的值(内容)是否相同。

“==” 比较的是两个对象的引用(内存地址)是否相同,也用来比较两个基本数据类型的变量值是否相等。

java定义:在自动装箱时对于值从–128到127之间的值,它们被装箱为Integer对象后,会存在内存中被重用,始终只存在一个对象而如果超过了从–128到127之间的值,被装箱后的Integer对象并不会被重用,即相当于每次装箱时都新建一个 Integer对象;