分区Java面试题及详细答案(实战版).docxVIP

  • 2
  • 0
  • 约6.46千字
  • 约 9页
  • 2026-10-19 发布于河北
  • 举报

分区Java面试题及详细答案(实战版).docx

分区Java面试题及详细答案(实战版)

一、Java基础语法与核心特性区

1.谈谈==和equals的区别

答案:

==是运算符,equals是Object类的方法,二者核心区别在比较规则不同:

1.基本数据类型:==比较的是数值本身,基本类型没有equals方法;

2.引用数据类型:==比较的是对象的内存地址,判断是不是同一个对象;

3.equals方法默认行为(Object原生):和==一致,比较内存地址;但String、Integer等包装类、集合类都重写了equals,重写后只比较对象内容,不看地址。

实操场景:比较字符串内容必须用equals,不要用==。

2.String、StringBuilder、StringBuffer的区别

答案:

1.可变性:String是不可变字符串,每次拼接、修改都会生成新字符串对象;StringBuilder、StringBuffer是可变字符串,修改操作直接在原对象进行,不会频繁创建新对象。

2.线程安全:StringBuffer所有方法加了synchronized锁,线程安全;StringBuilder无锁,线程不安全。

3.性能:单线程场景下StringBuilder性能远高于StringBuffer和String;多线程字符串操作优先用Strin

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档