java如何证明字符串是不可变的
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍了java如何证明字符串是不可变的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何证明字符串是不可变的字符串不可变的
千家信息网最后更新 2025年11月07日java如何证明字符串是不可变的
这篇文章主要介绍了java如何证明字符串是不可变的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
如何证明字符串是不可变的
字符串不可变的这个事我曾写过两篇文章,写到最后我都要吐了。但是仍然会有一些同学弄不明白,隔段时间就有人私信我,我就不得不把之前的文章放到收藏夹,问的时候我就把链接发给他。
之所以造成这个混乱,有很多因素,比如说,Java 到底是值传递还是引用传递?字符串常量池是个什么玩意?
这次又不得不谈,虽然烦透了,但仍然要证明啊!
public class StringImmutabilityTest { public static void main(String[] args) { String s1 = "沉默王二"; String s2 = s1; System.out.println(s1 == s2); s1 = "沉默王三"; System.out.println(s1 == s2); System.out.println(s2); } }输出结果如下所示:
true false 沉默王二
1)String s1 = "沉默王二",Java 在字符串常量池中创建"沉默王二"这串字符的对象,并且把地址引用赋值给 s1
2)String s2 = s1,s2 和 s1 指向了同一个地址引用——常量池中的那个"沉默王二"。
所以,此时 s1 == s2 为 true。
3)s1 = "沉默王三",Java 在字符串常量池中创建"沉默王三"这串字符的对象,并且把地址引用赋值给 s1,但 s2 仍然指向的是"沉默王二"那串字符对象的地址引用。
所以,此时 s1 == s2 为 false,s2 的输出结果为"沉默王二"就证明了字符串是不可变的。
感谢你能够认真阅读完这篇文章,希望小编分享的"java如何证明字符串是不可变的"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
字符
字符串
可变
篇文章
地址
常量
对象
指向
结果
中创
输出
混乱
之所以
价值
兴趣
同学
同时
因素
文章
时候
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络技术智能家居
软件开发授权
秋天日记软件开发
违反使用网络安全罪
大学校园网络安全防范工作
数据库删除某个值为1的语句
电脑时间校准服务器
甲骨文数据库是处理什么数据
博野县网络安全委员会
互联网金融与金融科技相同点
特攻先锋获取服务器
jsp连接数据库安全性
郑州黄河网络安全科技馆
剑网了服务器
db2数据库系统优点缺点
筛选编号中的数据库
阳泉触摸屏软件开发公司
香港数据库安全审计
去美国学软件开发
毕业生管理服务器
安卓使用本地数据库源码
储存聊天记录的数据库结构
同花顺查银行数据库
网络安全宣讲视频
网络安全有什么公司可以对接
服务器根节点
胶片视频软件开发
珑微服务器管理口ip
ipv6根服务器会在中国吗
工业软件开发需要学什么专业