三张图彻底了解Java中字符串的不变性

发布时间 - 2026-01-11 02:03:48    点击率:

该文章是图说Java系列文章中的一篇

定义一个字符串

String s = "abcd";

s中保存了string对象的引用。下面的箭头可以理解为“存储他的引用”。

使用变量来赋值变量

String s2 = s;

s2保存了相同的引用值,因为他们代表同一个对象。

字符串连接

s = s.concat("ef");

s中保存的是一个重新创建出来的string对象的引用。

总结

一旦一个string对象在内存(堆)中被创建出来,他就无法被修改。特别要注意的是,String类的所有方法都没有改变字符串本身的值,都是返回了一个新的对象。

如果你需要一个可修改的字符串,应该使用StringBuffer 或者 StringBuilder。否则会有大量时间浪费在垃圾回收上,因为每次试图修改都有新的string对象被创建出来。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Java  # 字符串  # 不变性  # JAVA中字符串函数subString的用法小结  # Java String字符串和Unicode字符相互转换代码  # Java中去除字符串中所有空格的几种方法  # Java 替换字符串中的回车换行符的方法  # java的io操作(将字符串写入到txt文件中)  # Java正则多字符串匹配替换  # Java生成和解析XML格式文件和字符串的实例代码  # Java中char数组(字符数组)与字符串String类型的转换方法  # Java生成MD5加密字符串代码实例  # Java中JSON字符串与java对象的互换实例详解  # 的是  # 存了  # 都是  # 如果你  # 都有  # 会有  # 他就  # 要注意  # 因为他们  # 大家多多  # String 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  如何快速使用云服务器搭建个人网站?  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  如何用AI帮你把自己的生活经历写成一个有趣的故事?  如何在阿里云高效完成企业建站全流程?  香港服务器WordPress建站指南:SEO优化与高效部署策略  高防服务器租用首荐平台,企业级优惠套餐快速部署  jQuery validate插件功能与用法详解  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Android使用GridView实现日历的简单功能  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  JavaScript Ajax实现异步通信  详解jQuery中的事件  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  LinuxShell函数封装方法_脚本复用设计思路【教程】  Laravel怎么调用外部API_Laravel Http Client客户端使用  HTML 中如何正确使用模板变量为元素的 name 属性赋值  Linux系统命令中tree命令详解  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  如何在 React 中条件性地遍历数组并渲染元素  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Python函数文档自动校验_规范解析【教程】  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  如何基于PHP生成高效IDC网络公司建站源码?  如何在万网自助建站平台快速创建网站?  canvas 画布在主流浏览器中的尺寸限制详细介绍  Laravel如何实现API速率限制?(Rate Limiting教程)  ,交易猫的商品怎么发布到网站上去?  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  JS实现鼠标移上去显示图片或微信二维码  如何快速搭建高效WAP手机网站?  网站建设整体流程解析,建站其实很容易!  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  *服务器网站为何频现安全漏洞?  Android仿QQ列表左滑删除操作  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  如何快速搭建高效服务器建站系统?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康