关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
M Talha
2025-11-18 13:07
采纳率: 56.4%
浏览 7
首页
编程语言
已结题
String、StringBuffer、StringBuilder的区别?为什么String是不可变的?这种设计有何好处?
java
c语言
从线程安全、性能、JVM优化(字符串常量池)的角度深入分析。
收起
写回答
好问题
0
提建议
关注问题
微信扫一扫
点击复制链接
分享
邀请回答
编辑
收藏
删除
收藏
举报
3
条回答
默认
最新
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
Seal^_^
优质创作者: 云计算技术领域
2025-11-18 16:22
关注
String是不可变的,线程安全,在字符串常量池中有优化,但修改性能较差。
本回答被题主选为最佳回答
, 对您是否有帮助呢?
本回答被专家选为最佳回答
, 对您是否有帮助呢?
本回答被题主和专家选为最佳回答
, 对您是否有帮助呢?
解决
无用
评论
打赏
微信扫一扫
点击复制链接
分享
举报
评论
按下Enter换行,Ctrl+Enter发表内容
查看更多回答(2条)
向“C知道”追问
报告相同问题?
提交
关注问题
String
、
StringBuffer
和
StringBuilder
的
区别
?
String
为什么是
不可
变
的?
2024-03-17 21:00
sw橘生淮南的博客
如果字符串中包含的字符没有超过 Latin-1 可表示范围内的字符,那就会使用 Latin-1 作为编码方案。JDK 官方就说了绝大部分字符串...中的对象是
不可
变
的,也就可以理解为常量,类型进行改
变
的时候,都会生成一个新的。
String
和
StringBuilder
、
StringBuffer
区别
?
String
为什么
不可
变
?一文搞懂,吊打面试官!
2024-08-14 23:14
为什么不辞而别的博客
不可
变
指的是,一旦一个
String
对象被创建,它所包含的字符串内容是
不可
改
变
的。
String
,
StringBuffer
,
StringBuilder
的
区别
是什么?
String
为什么是
不可
变
的?
2024-07-13 23:08
ruky36的博客
然而,如果只是需要连接或操作少量的字符串,使用 `
String
` 连接操作符(`+`)通常足够高效,尤其是在Java 6及以后的版本中,因为编译器和JVM会对字符串连接进行优化。...为什么 `
String
` 是
不可
变
的?
String
、
StringBuffer
和
StringBuilder
的
区别
是什么?
String
为什么是
不可
变
的?
2024-01-25 11:08
追梦者1的博客
需要注意的是,由于
String
是
不可
变
的,每次对
String
的修改都会创建一个新的
String
对象,因此在频繁修改字符串内容的情况下使用
String
可能会产生大量的临时对象,导致内存开销。字符串池(
String
Pool):为了提高...
String
和
StringBuffer
,
StringBuilder
的
区别
是什么?
String
为什么是
不可
变
的?
2022-01-25 14:28
weixin_46103531的博客
String
为什么是
不可
变
的?三者
区别
可
变
性功能快捷键合理的创建标题,有助于目录的生成如何改
变
文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
String
为什么是
不可
变
的?
String
、
StringBuffer
和
StringBuilder
的
区别
是什么?
2024-03-08 11:21
Marciaguoguo的博客
操作少量的数据,适合
String
单线程下操作大量数据,使用
StringBuilder
多线程操作字符串缓冲区下操作大量数据,适用
StringBuffer
。
String
、
StringBuffer
和
StringBuilder
的
区别
是什么?
String
为什么是
不可
变
的?
2021-12-08 22:42
才疏学浅的小缘同学的博客
String
是
不可
变
的,因为在
String
类中使用final关键字修饰字符数组来保存字符串。 而
StringBuffer
和
StringBuilder
都继承自Abstract
StringBuilder
类,在Abstract
StringBuilder
类虽然也是使用字符数组来保存字符串,但...
String
和
StringBuffer
、
StringBuilder
的
区别
是什么?
String
为什么是
不可
变
的
2021-11-15 22:55
_/~↘浅唱、那囙忆的博客
可
变
性:
String
类中使用字符数组保存字符串,private final char value[],所以
string
对象是
不可
变
的。
StringBuilder
与
StringBuffer
都继承自Abstract
StringBuilder
类,在Abstract
StringBuilder
中也是使用字符数组...
[JAVA基础面试题]
String
StringBuffer
和
StringBuilder
的
区别
是什么?
String
为什么是
不可
变
的?
2022-05-11 10:15
薄荷糖丶微微凉的博客
【Java基础面试题】
String
StringBuffer
和
StringBuilder
的
区别
是什么?
String
为什么是
不可
变
的?
1.2
String
、
StringBuffer
和
StringBuilder
的
区别
是什么?
String
为什么
不可
变
?
2021-10-13 11:14
南宫卷柏的博客
String
为什么
不可
变
? 从底层数据结构来看:
String
是被final修饰的char[],所以它在确定内容后
不可
以改
变
;而
StringBuffer
和
StringBuilder
的char[]没有用final修饰,所以它们创建的字符串是可
变
的; 从线程安全来看...
没有解决我的问题,
去提问
向专家提问
向AI提问
付费问答(悬赏)服务下线公告
◇ 用户帮助中心
◇ 新手如何提问
◇ 奖惩公告
问题事件
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
系统已结题
11月26日
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
已采纳回答
11月18日
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
创建了问题
11月18日