陆金所Java面试题及详细答案.docxVIP

  • 2
  • 0
  • 约1.55万字
  • 约 16页
  • 2026-06-06 发布于河北
  • 举报

陆金所Java面试题及详细答案

一、Java基础(必问,陆金所面试开篇高频)

1.说说Strings=abc和Strings=newString(abc)的区别?实际开发中你怎么选?

答案:核心区别就2点,实际开发里优先用第一种,尤其是频繁使用的字符串。

1.内存存储:Strings=abc会先去字符串常量池里找有没有abc,有就直接引用,没有就创建一个放入常量池,再引用;newString(abc)一定会在堆内存新创建一个对象,同时如果常量池里没有abc,也会顺带创建一个常量池对象,相当于最少创建1个对象,最多2个。

2.==比较结果:前者如果两个变量都是abc,==会返回true(引用同一个常量池对象);后者即使内容一样,==也返回false(堆内存地址不同),必须用equals()比较内容。

实际开发选择:比如陆金所里的常量(如接口地址、状态码SUCCESS),都用第一种,节省内存;只有需要创建一个全新的、独立的字符串对象时(比如接收用户输入的动态字符串,且需要频繁修改),才用newString()。另外注意,频繁拼接字符串别用String,用StringBuilder(非线程安全),如果是多线程场景(比如并发处理用户订单),就用StringBuffer。

2.值传递和引用传递的区别?Java里是哪种?举个实际开发中的例子

答案

文档评论(0)

1亿VIP精品文档

相关文档