直接上代码
public static void main(String[] args) {
Integer i = 127;
Integer j = 127;
Integer x = 128;
Integer y = 128;
System.out.println(i == j);
System.out.println(x == y);
}
执行完之后,控制台打印
true
false
这里可以看到,同样的数值比较,结果却不一样。因为在java中Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,这些缓存数据存放在常量池中,Character 创建了数值在[0,127]范围的缓存数据,Boolean 直接返回 True Or False。(注意:两种浮点数类型的包装类 Float,Double 并没有实现常量池技术)
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务