美文网首页
Integer对象的创建方式以及区别

Integer对象的创建方式以及区别

作者: 林深雾雨 | 来源:发表于2019-10-24 17:37 被阅读0次

Integer对象的创建方式以及区别

1.Integer num=130;

2.Integer num =newInteger(12);

3.Integer num = Integer.valueOf(12);


public static void main(String[] args){

Integer num1 = 10;

Integer num2 = 10;

System.out.println("num1 == num2 ? " + (num1 == num2));

Integer num3 = 128; Integer num4 = 128;

System.out.println("num3 == num4 ? " + (num3 == num4));  

}

运行后,我们会发现赋值为10的时候,打印出来的是true,赋值为128的时候打印出来的是false,这是为什么呢?因为Java底层源码的问题 不做深究 。


容易理解的原因:

通过自动装箱方式生成Integer对象的时候,赋值在-128 ~ +127之间的时候,生成的多个对象都是同一个,这就是所谓的“享元模式”。而赋值超出这个范围的时候,会通过new Integer()来生成对象,故而生成的多个Integer对象不是同一个。

    通过new Integer方式来生成Integer对象,不管传的值是多少,都会创建新的,所以通过new Integer()方式生成的Integer对象始终不是同一个。

    通过Integer.valueOf()来生成的对象,在-128 ~ +127这个范围内,生成的是同一个对象,否则生成的对象不一样

相关文章

  • Integer对象的创建方式以及区别

    Integer对象的创建方式以及区别 1.Integer num=130; 2.Integer num =newI...

  • android随笔之面试题汇总(JAVA篇)

    基础篇 int与integer的区别 Integer对象会占用更多的内存。Integer是一个对象,需要存储对象的...

  • Java Integer自增

    Java Integer 类的对象创建之后他的值就不能被修改,在 Integer ++ 的时候Integer是创建...

  • java中Integer对象不同创建方法之间的区别

    一.Integer类型对象之间大小比较 1.使用new Integer()创建的对象 : 首先,我们知道,在jav...

  • javascript面向对象解析(一)

    创建对象的方式 json对象方式创建对象 Object方式 声明构造函数方式,创建对象 -- 这种创建对象的方式用...

  • Java基础-数据类型缓存解析

    基本类型缓存解析 Integer缓存解析: 1、使用自动装箱(Integer i = 1)方式创建Integer对...

  • 关于整型包装类值的比较

    所有整型包装类对象值的比较必须使用equals方法。 当使用自动装箱方式创建一个Integer对象时,当数值在-1...

  • iOS FMDB

    iOS FMDB 数据库创建、增、删、改、查。 创建对象 创建表 integer,text:类型 primary ...

  • Integer详解

    int和Integer的区别   int是基本数据类型,初始值为0;Integer是对象类,用一个引用指向这个对象...

  • js 小贴士 Tips

    js new创建对象时有无括号的区别 比如: //如果不加参数的话,这两个创建方式没啥区别,如果需要带参数,必须使...

网友评论

      本文标题:Integer对象的创建方式以及区别

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