java中Integer的特殊之处

Wesley13
• 阅读 295

首先来看一个例子:

<!-- 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,创建的不同的对象。

点赞
收藏
评论区
推荐文章
技术小男生 技术小男生
2个月前
linux环境jdk环境变量配置
1:编辑系统配置文件vi/etc/profile2:按字母键i进入编辑模式,在最底部添加内容:JAVAHOME/opt/jdk1.8.0152CLASSPATH.:$JAVAHOME/lib/dt.jar:$JAVAHOME/lib/tools.jarPATH$JAVAHOME/bin:$PATH3:生效配置
光头强的博客 光头强的博客
2个月前
Java面向对象试题
1、请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。创建一个接口A,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现接口A里的方法输出一条有语句“鸟儿飞翔”,重写eat()方法输出一条语句“鸟儿吃虫”。在Test类中向上转型创建b对象,调用eat方法。然后向下转型调用eat()方
刚刚好 刚刚好
2个月前
css问题
1、在IOS中图片不显示(给图片加了圆角或者img没有父级)<div<imgsrc""/</divdiv{width:20px;height:20px;borderradius:20px;overflow:h
blmius blmius
1年前
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
小森森 小森森
2个月前
校园表白墙微信小程序V1.0 SayLove -基于微信云开发-一键快速搭建,开箱即用
后续会继续更新,敬请期待2.0全新版本欢迎添加左边的微信一起探讨!项目地址:(https://www.aliyun.com/activity/daily/bestoffer?userCodesskuuw5n)\2.Bug修复更新日历2.情侣脸功能大家不要使用了,现在阿里云的接口已经要收费了(土豪请随意),\\和注意
可莉 可莉
1年前
1024. Video Stitching
//使用javadfspublicintvideoStitching(intclips,intT){//bfsQueue<IntegerqueuenewLinkedList<();Set<Integervisited
Wesley13 Wesley13
1年前
Java int与Integer的区别
int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别:int是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象1.Java中的数据类型分为基本数据类型和复杂数据类型int是前者而integer是后者(也就是一个类);因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为n
Wesley13 Wesley13
1年前
JAVA hashCode和equals方法详解
hashCode和equals方法都是Object基类的方法先看一个例子publicclassStudeng{privateIntegersid;privateStringname;publicIntegerge
Wesley13 Wesley13
1年前
Java三元表达式中的陷阱
今天遇到一个奇怪的Java三元表达式中的空指针异常。特此记录。代码代码示意如下:IntegeritemVOnull;IntegerglobleLatenessToleranceUseAlternatenull;IntegerlatenessToleranceUseAlternate
Wesley13 Wesley13
1年前
Java8
JDK8自带的函数式接口Function有两个默认方法andThen和compose,它们都返回Function的一个实例,可以用这两个方法把Function接口所代表的的Lambda表达式复合起来。先看个简单的例子:Function<Integer,Integerfxx1;Function<Integer
Wesley13 Wesley13
1年前
Java基础之基本数据类型容易忽略的问题
1.Integer与Long对象初始化Integera100,b100;Integera1128,b1128;System.out.println(ab);System.out.println(a1b1);Longm100L,n100L;Longm1128L,n1128L;Sys