慕慕4042121

老师,为啥 Integer c = 150; System.out.println(c==150); 结果是true呢?

2019-11-10
6
1
回复 6
明明如月 回复 慕慕4042121

这个问题通过本文介绍的方法安全可以自主快速学习,可以查下 jls,然后反汇编看下,或许你会豁然开朗。 希望能够养成用(专栏)学到的方法来解决问题的习惯,而不是总依赖别人的讲解。 相信自己,动手试一下。

2019-11-11
窗下有梧桐 回复 慕慕4042121

因为比较时会自动拆箱,基本数据==比较的是值,肯定就为true了

2019-11-20
明明如月 回复 窗下有梧桐

问题是比较时会自动拆箱,这个结论是从哪里来的?

2019-11-23
明明如月 回复 窗下有梧桐

感谢回答。 一句话就可以告诉他结论,但是记住结论可以解决一个问题,无法解决一类问题。 之所以不正面回答就是希望大家能够有自己的学习方式,而不是去记忆。

2019-11-23
窗下有梧桐 回复 明明如月

好的。谢谢老师了。我明白你的意思了。

2019-11-23
wdy123 回复 慕慕4042121

执行了一个关键的指令 invokevirtual #4 // Method java/lang/Integer.intValue:()I ----------调用了拆包方法返回了I这个常量压栈

2020-02-02
没有更多内容
取消 回复 发送