高级程序员面试题及详细答案(真实职场版)
一、Java核心基础(高频必问)
1.说说==和equals的区别?Integer缓存坑点你遇到过吗?
参考答案:
==对于基本类型比的是数值,对于引用类型比的是内存地址;equals是Object方法,默认和==一致,像String、Integer这些类都重写了,用来比较内容值。
Integer缓存是核心坑点:Integer默认缓存-128~127的对象,这个区间内用==比较true,超出区间都是new对象,==就是false。
日常开发中,只要是包装类比较值,一律用equals,绝对不要用=
原创力文档

文档评论(0)