概述
众所周知基本数据类有各自的包装类,比如Boolean,Integer,Double
那这些包装类除了能提供装箱拆箱,类型转换的功能 ,还有一些比较偏门的知识点。
前几天去杭州面试,问了这样一个
Integer a= ?;和 int
Integer b=?;(两个问号)是同一个整形。那么请问(a==b)打印出来是为true还是false;
当时可高兴了,整这么简单的问题问老子实在太低估我了。
两个对象比较,当然不相等了。false!
面试官的表情让我知道,错了!
后来才想明白=后面那个字面量是有取值范围的
如果在[-128,127]区间,那么是true,
如果在那个区间以外那就是false;
因为,
这个区间内的话,是有缓存的。否则就要在内存中再分配一个空间。
jvm为了性能的优化而搞得这么一个设计。
真是吃一堑长一智。
最后
以上就是畅快流沙为你收集整理的java.lang.Integer的面试陷阱的全部内容,希望文章能够帮你解决java.lang.Integer的面试陷阱所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复