java如何证明字符串是不可变的
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍了java如何证明字符串是不可变的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何证明字符串是不可变的字符串不可变的
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
项目怎么发布到服务器
福建常规软件开发制造价格
客户端服务器出现错误
政法大学网络安全专业
在数据库表怎么添加约束
服务器炸船视频教程
无线网络技术帧名词解释
计算机网络安全密码学
连云港app软件开发价格
软件开发属于哪个行业
网络安全热战
永川区一站式软件开发服务标志
泗阳威力网络技术是什么
江西家用软件开发市场价
数据库应用的内存选择
数据库设计方案文档怎么写
阿里巴巴网络技术厦门
网络安全文章高中
身份证数据库怎么调
服务器管理的应用
大学计算机网络技术考试题目
超市进销存数据库设计
网络安全从入门到大师
数据库改步长
三星手机数据库在哪里
计算机网络技术拍照搜题
东南亚服务器叫什么
为何自己的服务器进不了
井陉网络安全应急演练
桌面级程序软件开发技术