栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

String、StringBuffer、StringBuilder的区别及使用场景

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

String、StringBuffer、StringBuilder的区别及使用场景

String、StringBuffer、StringBuilder的区别及使用场景
  • 速记表格
  • 详细说明
    • String
    • StringBuffer
    • StringBuilder
      • StringBuffer 和 StringBuilder 的方法基本相同只是在效率上有所不同
    • 继承结构
  • 使用场景

速记表格
分类可变性安全性操作对象相对效率
Stringfinal修饰对象不可变线程安全新对象最低
StringBuffer内容可变synchronized 关键字修饰,线程安全原对象
StringBuilder内容可变非线程安全原对象
详细说明 String
  • String是final修饰的,对象不可变,线程安全。如果对一个已经存在的String对象修改,会重新创建一个新对象,并把值放进去。
StringBuffer
  • StringBuffer,采用 synchronized 关键字修饰,线程安全
StringBuilder
  • StringBuilder,非线程安全,但效率会更高些,适用于单线程。
StringBuffer 和 StringBuilder 的方法基本相同只是在效率上有所不同

// 增加
StringBuffer append(data);尾部添加
StringBuffer insert(index,data);指定未知插入
// 删除
StringBuffer delete(int start, int end)
StringBuffer deleteCharAt(int index):删除指定位置的元素

// 修改改
StringBuffer replace(start,end,string);
void setCharAt(index,char);
// 查询
char charAt(index);
int indexOf(string);
继承结构

使用场景

性能:String

  • 经常需要改变字符串内容时使用后两个
  • 优先使用StringBuilder,多线程使用共享变量时使用StringBuffer
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/686840.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号