当前位置:网站首页>为什么字符串一旦创建就不可以改变?
为什么字符串一旦创建就不可以改变?
2022-08-10 00:25:00 【@ljn】
理解:
字符串的值一旦被创建,就不能改变指的是字符串的内容不能发生改变。而不是字符串的引用不能发生改变
背景:
String字符串的特点
Java程序中所有的双引号字符串,都是String类型的对象。
字符串不可变,它们的值在创建后不能被更改。
虽然String的值是不可变的,但是它们可以被共享。
解释说明:
字符串常量池:当使用双引号创建字符串对象时候,系统会检查该字符串是否在字符串常量池中存在,若不存在则创建,存在:不会创建,而是直接复用。(看以下四幅图片)
(1)第一幅
(2)第二幅
(3)变量用+号相连
解释:当字符串之间使用+号 串联(拼接)的时候,系统底层会自动创建一个StringBuilder对象,然后再调用其append方法完成拼接,拼接后调用toString方法转换为String类型。
(4)常量用+号相连
Java存在常量优化机制,在编译的时候,就会将“a”+“b”+“c”拼接为abc;
边栏推荐
- PEG derivative Biotin-PEG1-OH (cas: 95611-10-2, 2-biotinaminoethanol) advantage description
- 宝塔实测-搭建LightPicture开源图床系统
- Quick responsiveness intelligent/smart responsiveness of polyethylene glycol type nano/reduction response hydrogels research and preparation
- 初步认识对象
- 人际关系不仅要“存”,更要“激活”!
- 03|流程控制
- Solidity最强对手:MOVE语言及新公链崛起
- Leetcode81. 搜索旋转排序数组 II
- -向量点积-
- 渗透测试与攻防对抗——漏洞扫描&逻辑漏洞(Part1)
猜你喜欢
C语言--数据的存储(上)
Xi'an biotin-tetrapolyethylene glycol-amide-4phenol light yellow semi-solid
数据建模已死,真的吗?
7. type( )函数——查询数据类型
【CAS:41994-02-9 |Biotinyl tyramide】Biotinyl tyramide price
3.9 - 正规表达式和正规集 3.10 - 有限自动机
即时通讯开发如何撸一个WebSocket服务器
Web性能测试模型小结
CVPR22 Oral|通过多尺度token聚合分流自注意力,代码已开源
Biotin-Cy2 Conjugate, Biotin-Cy2 Conjugate_Cy2 Biotin Conjugate
随机推荐
pyhton之问~~~~~if __name__ == ‘__main__‘:是什么?
小程序实现搜索功能续
R语言使用coxph函数构建生存分析回归模型,使用forestmodel包的forest_model函数可视化生存回归模型对应的森林图
Qt的pro文件递归搜寻添加文件
CAS:851113-28-5 (Biotin-ahx-ahx-tyramine)
鲜花线上销售管理系统的设计与实现
足不出户也能看星空
深入理解Aarch64内存管理
DALL·E-2是如何工作的以及部署自己的DALL·E模型
7. type( )函数——查询数据类型
-red and black-
什么是持续测试?
assert利用蚁剑登录
02|运算符
Data storage - the C language
3.4 - 编译与解释 3.5 - 编译过程 3.8 - 文法
Leetcode79. 单词搜索
Aptos 深度解读:机遇、挑战与风险
How to turn off system protection in Win11?How to turn off the system protection restore function?
渗透测试与攻防对抗——漏洞扫描&逻辑漏洞(Part1)