博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断两个Integer值是否相等
阅读量:6206 次
发布时间:2019-06-21

本文共 1682 字,大约阅读时间需要 5 分钟。

hot3.png

代码如下:

/**	 * @comment:Integer 类型数值比较	 * @author:傅里叶级数	 * @date:2018年8月	 * @param args	 */	public static void main(String[] args) {		Integer a =127;		Integer b = 128;		Integer c =127;		Integer d =128;		Integer e=-128;		Integer f = -128;		Integer g = -129;		Integer h = -129;		//打印int类型的hash值:		System.out.println(System.identityHashCode(a));//644117698		System.out.println(System.identityHashCode(c));//644117698				System.out.println(System.identityHashCode(h));//1872034366		System.out.println(System.identityHashCode(g));//1581781576				System.out.println(a==c);//true		System.out.println(b==d);//false		System.out.println(f==e);//true		System.out.println(g==h);//false	}

源码解释:

/**     * Returns an {@code Integer} instance representing the specified     * {@code int} value.  If a new {@code Integer} instance is not     * required, this method should generally be used in preference to     * the constructor {@link #Integer(int)}, as this method is likely     * to yield significantly better space and time performance by     * caching frequently requested values.     *     * This method will always cache values in the range -128 to 127,     * inclusive, and may cache other values outside of this range.     *     * @param  i an {@code int} value.     * @return an {@code Integer} instance representing {@code i}.     * @since  1.5     */    public static Integer valueOf(int i) {        if (i >= IntegerCache.low && i <= IntegerCache.high)            return IntegerCache.cache[i + (-IntegerCache.low)];        return new Integer(i);    }

综上,如果两个Integer的值在[-128,127]之间,==比较返回值为true;否则可能(may)new一个对象,hash地址不同,==返回false。

转载于:https://my.oschina.net/FourierSeriesNzh/blog/1928079

你可能感兴趣的文章
maven详解之坐标与依赖
查看>>
在屏幕上打印杨辉三角
查看>>
Cisco Nexus 1000V
查看>>
我的友情链接
查看>>
MAC下面maven如何设置让其实下载源码
查看>>
PostgreSQL学习手册(二) 模式(Schema)
查看>>
[iOS Animation]-CALayer 性能优化实例
查看>>
Nagios 安装及常见错误
查看>>
我的友情链接
查看>>
Android版添加phonegap--websocket客户端插件教程
查看>>
MySQL 导出数据
查看>>
Siege压力工具
查看>>
rip
查看>>
使用ImageLoader来加载网络图片
查看>>
apache 重写和虚拟目录配置
查看>>
CentOS多网卡重命名配置
查看>>
滚动条样式设置
查看>>
变态青蛙跳
查看>>
计算机基础,你知道蓝屏的原因吗
查看>>
Git常用命令总结
查看>>