首页 > 其他分享 >String、StringBuffer、StringBuilder区别与联系

String、StringBuffer、StringBuilder区别与联系

时间:2023-03-17 17:22:12浏览次数:30  
标签:String StringBuffer JDK1.5 线程 StringBuilder 字符串

 

 

1. String类是不可变类,即一旦一个String对象被创建后,包含在这个对象中的字符序列是不可改变的,直至这个对象销毁。


2.StringBuffer类则代表一个字符序列可变的字符串,可以通过append、insert、reverse、setChartAt、setLength等方法改变其内容。一旦生成了最终的字符串,调用toString方法将其转变为String


3.JDK1.5新增了一个StringBuilder类,与StringBuffer相似,构造方法和方法基本相同。不同是StringBuffer是线程安全的,而StringBuilder是线程不安全的,所以性能略高。通常情况下,创建一个内容可变的字符串,应该优先考虑使用StringBuilder


StringBuilder:JDK1.5开始  效率高   线程不安全


StringBuffer:JDK1.0开始   效率低    线程安全

 

标签:String,StringBuffer,JDK1.5,线程,StringBuilder,字符串
From: https://www.cnblogs.com/2324hh/p/17227581.html

相关文章

  • .net 连接各个数据库的ConnectionString字符串
    DataType----->ConnectionStringDataType.MySql----->DataSource=127.0.0.1;Port=3306;UserID=root;Password=root;InitialCatalog=cccddd;Charset=utf8;SslMode=none......
  • 438.Find All Anagrams in a String
    给定两个字符串 s 和p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符......
  • C#使用ObjectPool提高StringBuilder性能
        在C#中我们知道使用StringBuilder能提高大量字符串拼接的效率,其实StringBuilder的效率也可以提升,那就是使用ObjectPool。本文将介绍怎么使用ObjectPool提高StringB......
  • Object.prototype.toString判断类型的原理
    项目中,我们经常会直接使用Object.prototype.toString用来做类型判断。他基本是几种方法里可以开箱即用、且判断类型最完善了。现在我们来扒皮一下他。具体原理在toString......
  • C++ string类
    小引C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP(面向对象)的思想,而且底层空间......
  • String类
    String字符串是常量,创建之后不可改变字符串字面值存储在字符串池中,可以共享packagecom.zhang.oop.Stri;publicclassDemo01{publicstaticvoidmain(String[]......
  • MFC-OutputDebugString调试输出
     ::OutputDebugString(str);输出到以下窗口:        ......
  • JAVA字符串格式化-String.format()的使用
    JAVA字符串格式化-String.format()的使用https://blog.csdn.net/lonely_fireworks/article/details/7962171/常规类型的格式化String类的format()方法用于创建格式化的......
  • 【MySQL】substring_index 函数详解
    【MySQL】substring_index函数详解命令格式stringsubstring_index(string<str>,string<separator>,int<count>)命令说明截取字符串str第count个分隔符之前的字......
  • 使用Java替换字符串占位符的几种方法 String url2 = "jdbc:mysql://{0}:{1}/{2}"
    使用Java替换字符串占位符的几种方法https://blog.csdn.net/m0_67402125/article/details/125383655importorg.apache.commons.lang.text.StrSubstitutor;importj......