码迷,mamicode.com
首页 > 其他好文 > 详细

Integer的intValue()方法

时间:2020-03-20 14:24:39      阅读:375      评论:0      收藏:0      [点我收藏+]

标签:==   system   -128   span   hashcode   ash   val   lse   identity   

Integer n1 = 123;
Integer n2 = 123;
Integer n3 = 128;
Integer n4 = 128;
System.out.println(n1 == n2);// true
System.out.println(n3 == n4);// false
System.out.println(n3.intValue()==n4.intValue());// true
System.out.println(128==n3);// true
System.out.println(128==n4);// true
// 对象的hashcode值
System.out.println(System.identityHashCode(n1));// 366712642
System.out.println(System.identityHashCode(n2));// 366712642
System.out.println(System.identityHashCode(n3));// 1829164700
System.out.println(System.identityHashCode(n4));// 2018699554

为什么 n3==n4  是false呢,因为在 Integer.IntegerCache 中 -128- 127 已经被缓存了,n1  n2  的hashcode一样的,而n3 、n4  的hashcode 是不一样的

Integer的intValue()方法

标签:==   system   -128   span   hashcode   ash   val   lse   identity   

原文地址:https://www.cnblogs.com/yrjns/p/12531398.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!