`

封装类比较出现的问题

 
阅读更多

       Java为了性能提供了一个类似缓存的东西,不仅仅是Integer,Long也有同样的缓存,在内存中定义了一个长度为 255的对象数组,装箱之前先比较一下,如果是在-128-127范围内就直接取,所以只要是-128~127之间的取的都是一个对象,是true了,-128~127之外的就会重新new对象。

public class IntegerTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		Integer i1 = 10;
		Integer i2 = 10;
		System.out.println(i1 == i2); // true

		//直接生成新的对象,不会从在缓存中获取
		Integer i3 = new Integer(10);
		Integer i4 = new Integer(10);
		System.out.println(i3 == i4); // false

		Integer i5 = 0;
		System.out.println(i1 == i2 + i5);// true
		//在i4+i5运算前,先进行了拆箱操作,所以比较的是内容
		System.out.println(i3 == i4 + i5);// true

		Integer i6 = 128;
		Integer i7 = 128;
		System.out.println(i6 == i7); // false
		Integer i8 = -129;
		Integer i9 = -129;
		System.out.println(i8 == i9); // false

	}

}
 
分享到:
评论

相关推荐

    EasySysprep-v4封装XP-最完整的系统封装教程

    在开始封装之前,需要备份当前操作系统,以避免在封装过程中出现问题,导致需要重新安装操作系统。建议使用 Ghost 备份工具,推荐使用 U 盘装机助理中的 Easy Image X 执行 Ghost 备份操作。Easy Image X 具有图形化...

    swagger @ApiModel 返回内容注释不显示问题

    swagger @ApiModel 返回内容注释不显示问题 展开无类信息

    protel2004封装

    1、我们建议自己创建的元件库保存在另外的磁盘分区,这样的好处是如果在Protel DXP软件出现问题或操作系统出现问题时,自己创建的元件库不可能因为重新安装软件或系统而丢失,另外对元件库的管理也比较方便和容易。...

    AD常用元件封装(ps老师提供的,好用)

    在可变电阻上也同样会出现类似的问题;在原理图中,可变电阻的管脚分别为1、W、及2, 所产生的网络表,就是1、2和W,在PCB电路板中,焊盘就是1,2,3.当电路中有这两种元 件时,就要修改PCB与SCH之间的差异最快的方法是在...

    封装好的tab类(派生于CTabCtrl)

    那么在运行时修改标签的位置为左边或右边时会出现问题,但是只要曾经设置过TabCtrl的标签为左边或右边后, 以后运行不管工程中的TabCtrl的标签是怎样设置的,在运行时都可以正确的修改其标签的位置。 */

    ShareARouter:阿里路由框架ARouter使用与简单封装

    ShareARouter 阿里路由框架ARouter使用与简单封装 借用阿里云栖社区的一段话...这时候如果考虑使用自定义的路由组件就可以解决以上问题,比如通过URL索引就可以解决类依赖的问题;通过分布式管理页面配置可以解决隐式in

    IDEA动态链接库(附封装的头文件)

    用于加、解密,用C++写的动态库。同时将动态库的调用封装为一个类,方便大家的使用。本库已经用于我自己做过的很多程序,没有出现问题。

    鱼刺类_多线程应用v5.4模块

    *修改 去除所有用到取启动时间的函数/方法 (修正在系统开机超过29天的机器上可能会出现问题)。*修正 类回调_生成 部分系统配置兼容问题。5.4.2(2017-11-21)。*增加 _取启动时间 可解决E自带函数遇到开机超过28天后...

    模板数组类(支持分数和浮点数的求和计算) .cpp

    【问题描述】 封装一个模板数组类Array,支持以下操作: 1. 构造函数Array(int n),将数组初始化为n个存储空间,建议使用vector; 2. 函数input(int n),使用插入运算符读取数据,最多读取n个元素,但不能超过...

    CCF CSP认证资料

    字符串处理上:lcs(最长公共子序列),kmp(字符串匹配算法),复杂题设计思维+注释,类的设置,数据封装,多重嵌套解法。 图论算法上(目前出现过的):设置高效的邻接表,dfs是基础,bfs(最优/短问题且各边权值为1...

    e语言-鱼刺类_多线程应用v5.4模块

    资源介绍:鱼刺类_多线程应用 - 更新日志5.4.3(2017-12-01)*修改 去除所有用到取启动时间的函数/方法 (修正在系统开机超过29天的机器上可能会出现问题)*修正 类回调_生成 部分系统配置兼容问题5.4.2(2017-11-21)*...

    异常底层详解

    第21天 异常 今日内容介绍: 掌握异常概述 理解异常的基础操作以及最简单的捕获处理 理解多异常捕获处理 ...当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置、原因等)。

    Java笔试题目汇总

    Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble 引...

    [鱼刺多线程-鱼刺类_多线程应用模块v5.4完整源码

    *修改 去除所有用到取启动时间的函数/方法 (修正在系统开机超过29天的机器上可能会出现问题)。*修正 类回调_生成 部分系统配置兼容问题。5.4.2(2017-11-21)。*增加 _取启动时间 可解决E自带函数遇到开机超过28天后...

    ActiveMQ:activeMQ消息封装,主要解决:事务性消息、消息幂等性、异常造成的消息丢失问题 本项目不在更新,新项目请看ReliableMessageSystem

    消息丢失问题 对于比较重要的消息,消费者系统不允许消息丢失,如何保证每条消息100%到达 3.重复消息问题 为了保证消息的幂等性:f(x)=a,f(f(x))=a,f(...(f(x)))=a 同一条消息重复消费多次与消费一次的效果一样 4....

    java面试笔试题大汇总

    Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat double...

    Java程序员面试宝典

    Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble 引用类型和原始...

    MVPDemo:MVP的二次封装使用,减少m、v、p层代码的编写

    MVPDemo ... 因为在该库中有个updataTool更新app版本工具类,其中使用了fileprovider,如不添加会出现项目无法安装的问题 报错 Installation failed with message INSTALL_FAILED_CONFLICTING_PROV

Global site tag (gtag.js) - Google Analytics