三张图彻底了解Java中字符串的不变性
:三张图片让你了解Java中字符串的不变性
一旦一个string对象在内存(堆)中被创建出来,他就无法被修改。特别要注意的是,String类的所有方法都没有改变字符串本身的值,都是返回了一个新的对象。
如果你需要一个可修改的字符串,应该使用StringBuffer 或者 StringBuilder。否则会有大量时间浪费在垃圾回收上,因为每次试图修改都有新的string对象被创建出来。
定义一个字符串
String s = “abcd”;

s中保存了string对象的引用。下面的箭头可以理解为“存储他的引用”。
使用变量来赋值变量
String s2 = s;

s2保存了相同的引用值,因为他们代表同一个对象。
字符串连接
s = s.concat(“ef”);

s中保存的是一个重新创建出来的string对象的引用。
本文由 TecHug 分享,英文原文及文中图片来自 微信公众号。
你也许感兴趣的:
- 2026:Java 的命令行元年
- Java 25:告别臃肿代码的时代开启
- Java 的26年演变历程
- Java 25 新特性及示例
- Java 25 的全新 CPU 时间分析器
- Java 25 已发布 – 有哪些新特性?
- JDK 26:Java 26 的新功能
- Javadoc 有了暗色模式!
- Java25和Java8
- Java三十载:缔造科技传奇的“Java之父”
共有{1}条精彩评论
-
陈伟 对这篇文章的反应是敬佩

你对本文的反应是: