博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java Integer判等的大坑
阅读量:6486 次
发布时间:2019-06-24

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

在-128 至 127 范围内的赋值,Integer 对象是在IntegerCache.cache 产生,会复用已有对象,这个区间内的 Integer 值可以直接使用==进行 判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,这是一个大坑, 推荐使用 equals 方法进行判断。 

public class Program {    public static void main(String[] args) {        Integer a1 = 1;        Integer b1 = 1;        System.out.println(a1 == b1);        // true        System.out.println(a1.equals(b1));    // true        System.out.println(a1 == 1);        // true        Integer a2 = 128;        Integer b2 = 128;        System.out.println(a2 == b2);        // false        System.out.println(a2.equals(b2));    // true        System.out.println(a2 == 128);        // true    }}

 

转载于:https://www.cnblogs.com/mousewheel/p/8341311.html

你可能感兴趣的文章
js中让字符串中特定字符红色显示
查看>>
redhat Nginx 安装
查看>>
oracle 配置监听
查看>>
moosefs即将发布新版
查看>>
SmartGit 试用过期
查看>>
python 测试驱动开发的简单例子
查看>>
Aes 加密简单例子
查看>>
AE 线编辑
查看>>
软件设计之UML—UML的构成[上]
查看>>
如何使用AdMob中介界面?
查看>>
分享一个shell脚本:通过Jumper机器来创建Jumper和target机器账号
查看>>
UITableViewCell分割线不是左对齐的问题
查看>>
CentOS7 编译安装PHP7
查看>>
MySQL常见错误代码及代码说明
查看>>
Cglib动态代理基础使用
查看>>
技术人员,为什么会苦逼
查看>>
Maven
查看>>
.NET 同步与异步之锁(Lock、Monitor)(七)
查看>>
前端大牛们都学过哪些?
查看>>
在iOS当中发送电子邮件和短信
查看>>