网易Java开发面试题及详细答案.docxVIP

  • 0
  • 0
  • 约1.24万字
  • 约 12页
  • 2026-06-25 发布于河北
  • 举报

网易Java开发面试题及详细答案

一、基础题(必问,考察基本功扎实度)

1.说说int和Integer的区别,以及Integeri=20和Integerj=200,i==j的结果为什么不一样?

答案:核心区别就两点,int是基本数据类型(占4字节),直接存值,没有null;Integer是int的包装类,是对象,存的是引用,默认值是null。

关于==的结果:Java编译Integeri=20时,会自动转成Integer.valueOf(20),而Integer的valueOf方法有缓存机制——对-128到127之间的整数,会缓存起来重复使用,所以i和j都是20的话,指向的是同一个缓存对象,==比较地址就为true;但200超出了这个缓存范围,每次valueOf都会创建新的Integer对象,两个对象地址不同,所以i==j为false。

实际开发里要注意,判断值相等用equals,不要用==,尤其是Integer类型,避免踩缓存的坑。

2.String、StringBuilder、StringBuffer的区别,日常开发中怎么选?

答案:核心差异在“可变性”和“线程安全”,没有多余的复杂概念,实际用的时候看场景就行:

1.String:不可变(底层是finalchar数组),每次拼接、修改都会创建新的String对象,频繁操作会浪费内存,适合字符串不常变

文档评论(0)

1亿VIP精品文档

相关文档