java中Integer的特殊之处

Wesley13
• 阅读 569

首先来看一个例子:

<!-- lang: java -->
            Integer a1 = 10;
    Integer a2 = 10;
    
    System.out.println(a1 == a2);
    Integer b1 = new Integer(100);
    Integer b2 = new Integer(100);
    System.out.println(b1 == b2);
    
    Integer c1 = 1000;
    Integer c2 = 1000;
    System.out.println(c1 == c2);

输出结果:true false false 原因:在使用自动装箱创建一个Integer对象时,如果值在-128-127之间 时,会将值放入缓冲池,如果下次在创建这个值得 Integer对象,测直接 使用这个值得引用,如果不在此区间内,就创建新的对象,这种方法称为 享元模式。比较a1,a2,a1,a2属于同一个对象,b1,b2创建的不同的对象 c1,c2,创建的不同的对象。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java8新特性
Stream将List转换为Map,使用Collectors.toMap方法进行转换背景:User类,类中分别有id,name,age三个属性。List集合,userList,存储User对象1、指定keyvalue,value是对象中的某个属性值。 Map<Integer,StringuserMap1userList.str
Wesley13 Wesley13
3年前
java.lang.Integer源码精读(一)
分享不易,喜欢请点赞支持,谢谢JDK源码精读汇总帖(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.jianshu.com%2Fp%2F14092cfab6d9)
Wesley13 Wesley13
3年前
java.lang.Integer源码精读(二)
分享不易,喜欢请点赞支持,谢谢JDK源码精读汇总帖(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.jianshu.com%2Fp%2F14092cfab6d9)
Wesley13 Wesley13
3年前
JAVA 面试相关
1\.int和Integer有什么区别?答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapperclass),int的包装类就是Integer,从Java5开始引入
Wesley13 Wesley13
3年前
10行代码2道题,全答对的你月薪多少了?
题目1:public static void demo01() {    Integer f1  100, f2  100, f3  200, f4  200;    System.out.println(f1  f2);    System.out.println(f3  f4);}题目2:priva
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
Java int与Integer的区别
int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别:int是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象1.Java中的数据类型分为基本数据类型和复杂数据类型int是前者而integer是后者(也就是一个类);因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为n
Wesley13 Wesley13
3年前
Java基础之基本数据类型容易忽略的问题
1.Integer与Long对象初始化Integera100,b100;Integera1128,b1128;System.out.println(ab);System.out.println(a1b1);Longm100L,n100L;Longm1128L,n1128L;Sys