128陷阱指的是,两个Integer数据类型(包装类)在一定范围内用 == 判断,会返回true。这个范围默认就是-128--127
之所以范围是-128--127,我们用int类型赋值给Integer时会自动调用Integer.valueOf()这个方法来赋值给Integer对象,是因为方法的源码中设置了一个Cache数组。
若在这个范围内Integer 变量指向的是这个数组里的一个元素。所以当用==判断的时候返回结果为true。
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!