我是靠谱客的博主 畅快流沙,最近开发中收集的这篇文章主要介绍java.lang.Integer的面试陷阱,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

众所周知基本数据类有各自的包装类,比如Boolean,Integer,Double

那这些包装类除了能提供装箱拆箱,类型转换的功能 ,还有一些比较偏门的知识点。

前几天去杭州面试,问了这样一个

Integer a=  ?;和 int

Integer b=?;(两个问号)是同一个整形。那么请问(a==b)打印出来是为true还是false

当时可高兴了,整这么简单的问题问老子实在太低估我了。

两个对象比较,当然不相等了。false!

面试官的表情让我知道,错了!

后来才想明白=后面那个字面量是有取值范围的

如果在[-128,127]区间,那么是true,

如果在那个区间以外那就是false;

 

 

因为,

这个区间内的话,是有缓存的。否则就要在内存中再分配一个空间

jvm为了性能的优化而搞得这么一个设计。

真是吃一堑长一智。

最后

以上就是畅快流沙为你收集整理的java.lang.Integer的面试陷阱的全部内容,希望文章能够帮你解决java.lang.Integer的面试陷阱所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部