- 0
- 0
- 约4.33千字
- 约 6页
- 2026-10-13 发布于河北
- 举报
JavaString高频面试题及详细答案(实战版)
1.简述String的特性,为什么说String是不可变的?
参考答案:
String是Java中最常用的引用类型,核心特性为不可变、常量池缓存、线程安全。
从底层源码来看,JDK1.9之前,String内部通过privatefinalchar[]value存储字符串内容;JDK1.9及之后改为privatefinalbyte[]value压缩存储,节省内存。
不可变的核心原因有两点:
1.存储数组被final修饰:数组引用地址不可修改,无法指向新数组;同时数组被私有封装,外部无法直接修改内部元素。
2.所有修改方法均为新建对象:String的substring、replace、concat、trim等所有修改类方法,都不会修改原字符串,而是创建并返回一个全新的String对象。
简单来说,一旦字符串对象初始化完成,其内部字符内容永远无法修改,所谓的字符串修改,本质都是新建对象。
2.String为什么要设计成不可变的?实际业务中有什么好处?
参考答案:
String不可变是Java的核心设计,主要有四大业务和底层优势:
①实现字符串常量池复用,节省内存
字符串常量池是JVM的缓存机制,多个引用可以指向同一个常量池字符串对象。如果字符串可变,一个
您可能关注的文档
- Java String 高频面试题及详细答案(实战无模板版).docx
- Java String 高频面试题及详细答案(真实面试版).docx
- Java Web 高频面试题及详细答案(实战完整版).docx
- Java Web 高频面试题及详细答案(真实面试版).docx
- Java Web 工程师招聘笔试题(含答案及详细解析).docx
- Java Web 基础测试题(含详细答案).docx
- Java Web 基础面试题及详细答案(真实面试版).docx
- Java Web 开发综合测试题(含详细答案解析).docx
- Java Web 期末考核试题及详细参考答案.docx
- Java Web 上机面试题及详细答案(实操版).docx
原创力文档

文档评论(0)