上海华立科技Java工程师面试题(含真人化详细答案).docxVIP

  • 1
  • 0
  • 约6.24千字
  • 约 9页
  • 2026-07-04 发布于河北
  • 举报

上海华立科技Java工程师面试题(含真人化详细答案).docx

上海华立科技Java工程师面试题(含真人化详细答案)

一、Java基础(高频必考)

1、==和equals的区别是什么?实际项目中怎么用?

参考答案:

简单来说,==分两种场景,基本数据类型直接比数值,引用类型比内存地址;equals本质是Object类的方法,默认逻辑和==一样比对地址。

像String、Integer这些常用类,官方已经重写了equals方法,我们业务开发里调用equals,主要就是对比两个对象的内容是否一致。

补充一个项目小习惯:比较字符串的时候,我一般会把常量放前面,比如test.equals(str),避免空指针异常,这也是我们后台开发的通用写法。

2、Java只有值传递吗?为什么?

参考答案:

是的,Java从头到尾只有值传递,没有引用传递。

基础类型传参:直接把变量原始值复制一份传给方法,方法内修改参数,不会影响原始变量;

引用类型传参:传递的不是对象本身,而是对象内存地址的副本。所以方法内可以修改对象内部属性,但不能直接把原始引用指向新对象。之前面试我也踩过坑,直白点讲:传的都是副本,只是副本内容不一样。

3、String、StringBuffer、StringBuilder区别,项目如何选型?

参考答案:

1.String:字符串不可变,底层是final修饰的字符数组,每次拼接都会生成新对象,频繁拼接性能差;

2.StringBu

文档评论(0)

1亿VIP精品文档

相关文档