美文网首页
int和Integer的区别

int和Integer的区别

作者: 程序猿要翻身 | 来源:发表于2019-02-23 20:36 被阅读0次

int和Integer的区别 , int vs Integer

  1. Integer是int的包装类,int则是java的一种基本数据类型
  2. Integer变量必须实例化后才能使用,而int变量不需要
  3. Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
  4. Integer的默认值是null,int的默认值是0
/**
 * int和Integer的区别
 * new Integer()与Integer.valueOf()区别
 *
 * @author www.only-demo.com
 *
 */
class IntVsIntegerDemo {
    public static void main(String[] args) {
        //两个通过new生成的Integer变量永远是不相等的
        Integer integer1 = new Integer(127);
        Integer integer2 = new Integer(127);
        System.out.println(integer1 == integer2);//false
        //判断两个Integer是否相等的正确方法是使用equals()方法
        System.out.println(integer1.equals(integer2));//true
         
        //-128到127之间的值,Integer.valueOf()生成对象时从缓存池取
        System.out.println(Integer.valueOf(127) == Integer.valueOf(127));//true
        System.out.println(Integer.valueOf(128) == Integer.valueOf(128));//false
         
        //自动装箱等同与Integer.valueOf()
        Integer int127 = 127;
        Integer int128 = 128;
        System.out.println(int127 == Integer.valueOf(127));//true
        System.out.println(int128 == Integer.valueOf(128));//false
    }
}

参考: http://www.only-demo.com/java/20190223/291.html

相关文章

网友评论

      本文标题:int和Integer的区别

      本文链接:https://www.haomeiwen.com/subject/vnfmyqtx.html