博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一道腾讯笔试题--Integer的比较
阅读量:4090 次
发布时间:2019-05-25

本文共 817 字,大约阅读时间需要 2 分钟。

如程序所示,打印的结果会是什么。

public class test{	public static void main(String args[]){		Integer i = 127;		Integer j = 127;		System.out.println(i==j);		System.out.println(i.equals(j));				Integer k = 127;		Integer h = new Integer(127);		System.out.println(k==h);		System.out.println(k.equals(h));				Integer m = 128;		Integer n = 128;		System.out.println(m==n);		System.out.println(m.equals(n));				Integer w = 128;		Integer y = Integer.valueOf(128);		System.out.println(w==y);		System.out.println(w.equals(y));				Integer x = 128;		int z = 128;		System.out.println(x==z);		System.out.println(x.equals(z));	}}

对于-128~127之间的数,Integer不将其分配在堆区,所以地址是相同的打印2个true

但如果new的话,有一个Integer对象肯定分配在堆区,地址不同打印一个false一个true

对于超过+127的数,对象分配在堆区,地址不同,打印一个false一个true

由Integer.valueOf方法返回的Integer对象和w地址也不同,所以会打印一个false

由于包装类在与基本类型比较时会自动拆箱,最后两个会打印true

你可能感兴趣的文章
拿到人工智能offer,一个腾讯,一个阿里,选哪个?
查看>>
惨烈!Python 到底有啥用?CSDN都要对它下手了!
查看>>
身为前端:我的崩溃!是始于你的薪资比我高
查看>>
每天只睡4小时!大佬们都这么拼吗?
查看>>
不在再被Python洗脑了!!
查看>>
前端圈的贫富差距正在拉大?
查看>>
不要再被 Python 洗脑了!!
查看>>
架构师技术文档:Redis+Nginx+Spring全家桶+Dubbo精选
查看>>
真强啊!建议每一个打算学Java的人都来看看!
查看>>
别学前端了!前端程序员:凭啥??网友:来钱太快你会飘!
查看>>
程序员会懂的冷笑话:各大编程语言的内心独白
查看>>
七夕 | 程序员:别爱我,没结果
查看>>
前端技术永不过时!前华为工程师:你以为的鸡汤,实际是砒霜!
查看>>
为何字节跳动、腾讯、阿里、滴滴都要用Python?
查看>>
Vue3.0 备受热捧!2020 前端开发进阶必读
查看>>
没错!CSDN 要对 Python 下手了!
查看>>
给互联网巨头搬砖的Java程序员
查看>>
“编程能力差!90%输在这点上!”谷歌AI专家:其实都是瞎努力!
查看>>
干货| Python 只用一行代码,可以实现哪些事儿?
查看>>
坦白讲!90%的数据分析师都不合格!!
查看>>