news 2026/2/8 9:57:26

String、StringBuilder和StringBuffer

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
String、StringBuilder和StringBuffer

1.String(字符串常量)

  • 不可变性:String对象一旦创建,其内容不可修改。每次对字符串的操作(如拼接、替换)都会生成新的String对象,原对象不变。
String s = "Hello"; s = s + " World"; // 生成新对象,原"Hello"对象被丢弃(可能被GC回收)
  • 内存效率:频繁修改字符串会导致大量临时对象产生,增加内存开销和垃圾回收压力。
  • 线程安全:所有方法都是线程安全的(因为不可变)。
  • 适用场景:字符串内容不经常变化,或需要共享安全字符串的场景(如配置常量)。

2.StringBuilder(字符串可变,非线程安全)

  • 可变性:通过内部字符数组(char[])存储内容,支持原地修改(如append、insert、delete),不会频繁创建新对象。
  • 线程安全非线程安全(方法无synchronized修饰),单线程场景下性能更高。
  • 性能:在单线程中频繁修改字符串时,性能远优于String和StringBuffer。
  • 初始化:默认容量为16,超出容量时自动扩容(通常翻倍,避免频繁扩容)。
  • 适用场景:单线程环境下需要频繁修改字符串的场景(如循环内拼接字符串)。

3.StringBuffer(字符串可变,线程安全)

  • 可变性:与StringBuilder类似,支持原地修改。
  • 线程安全线程安全(方法用synchronized修饰),多线程环境下可安全使用,但同步操作会带来性能开销。
  • 性能:在多线程中修改字符串时,性能优于String;但在单线程中比StringBuilder慢。
  • 初始化:默认容量为16,扩容逻辑与StringBuilder一致。
  • 适用场景:多线程环境下需要频繁修改字符串的场景(如线程安全的日志拼接)。

对比总结

特性StringStringBuilderStringBuffer
可变性不可变可变可变
线程安全安全(不可变)非安全安全(synchronized)
性能(单线程)低(频繁创建对象)最高中(同步开销)
性能(多线程)不安全(需外部同步)最高(内置同步)
初始化容量无(内容决定)默认16默认16
扩容机制无(不可变)超出容量时自动扩容(翻倍)超出容量时自动扩容(翻倍)
  • String:用于只读场景,或字符串内容不频繁修改的情况。
  • StringBuilder单线程中需要频繁修改字符串时(如循环拼接),优先使用。
  • StringBuffer多线程中需要安全修改字符串时(如共享变量拼接),但需注意同步带来的性能损耗。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/5 7:02:37

YOLO26模型压缩:量化训练完整指南

YOLO26模型压缩:量化训练完整指南 随着深度学习在边缘设备部署需求的不断增长,模型压缩技术成为提升推理效率、降低资源消耗的关键手段。YOLO26作为当前主流的目标检测架构之一,在保持高精度的同时也面临参数量大、计算开销高的挑战。本文将…

作者头像 李华
网站建设 2026/2/6 6:39:54

DeepSeek-V3-0324:6850亿参数AI模型五大能力飞跃!

DeepSeek-V3-0324:6850亿参数AI模型五大能力飞跃! 【免费下载链接】DeepSeek-V3-0324 DeepSeek最新推出DeepSeek-V3-0324版本,参数量从6710亿增加到6850亿,在数学推理、代码生成能力以及长上下文理解能力方面直线飙升。 项目地址…

作者头像 李华
网站建设 2026/2/7 12:56:24

Qwen3-Reranker-8B:80亿参数重构多语言检索体验

Qwen3-Reranker-8B:80亿参数重构多语言检索体验 【免费下载链接】Qwen3-Reranker-8B 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-Reranker-8B 导语:阿里达摩院推出Qwen3-Reranker-8B文本重排序模型,以80亿参数实现多语…

作者头像 李华
网站建设 2026/2/7 17:29:46

DeepSeek-R1-Distill-Qwen-1.5B推理优化方案

DeepSeek-R1-Distill-Qwen-1.5B推理优化方案 1. 技术背景与核心价值 随着大模型在实际场景中的广泛应用,如何在资源受限的设备上实现高效、低成本的推理成为关键挑战。DeepSeek-R1-Distill-Qwen-1.5B 正是在这一背景下诞生的“小钢炮”级语言模型。该模型由 DeepS…

作者头像 李华
网站建设 2026/2/5 8:26:55

5分钟部署UI-TARS-desktop:零基础搭建AI助手实战指南

5分钟部署UI-TARS-desktop:零基础搭建AI助手实战指南 你是否希望快速拥有一个能通过自然语言控制电脑的AI助手?无需复杂配置,本文将带你从零开始,在5分钟内完成 UI-TARS-desktop 的本地部署。该应用内置轻量级 Qwen3-4B-Instruct…

作者头像 李华
网站建设 2026/2/6 19:39:07

BiliTools智能提取:告别信息焦虑,轻松获取视频精华

BiliTools智能提取:告别信息焦虑,轻松获取视频精华 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/bi…

作者头像 李华