首先,StringBuffer是一个容器,用来存放字符,在StringBuffer创建的过程中,首先会在堆内存中指向一个value空间,这个value空间将会指向一个字符数组即 char[]。所以在修改StringBuffer的实例化对象时并不需要重新指向(在StringBuffer的允许长度内),这相对String来说大大提高了效率。(!!StringBuffer虽然没StringBuilder效率高但是在多线程是安全的(StringBuilder没有做互斥的处理),所以在单线程里选择使用StringBuilder,多线程使用StringBuffer)

说一下String转成StringBuffer的途径:
第一个是使用StringBuffer的构造器:

String str = "hello world";
StringBuffer stringBuffer = new StringBuffer(str);

第二种是使用StringBuffer的append方法:

StringBuffer append = stringBuffer.append(str);

下面是StringBuffer转化为String的方法:
第一种是使用StringBuffer的toString方法:

String s = stringBuffer.toString();

第二种是使用String的构造器:

String s1 = new String(stringBuffer);

在文章的最后,总结一下String,StringBuffer和StringBuilder三者的区别:
String:不可变字符序列,效率低,复用性高(一旦创建就会出现在常量池中,不会被更改)。
StringBuffer:可变字符序列,效率较高(增删),线程安全。
StringBuilder:可变字符序列,效率最高,线程不安全。

StringBuffer讲解及StringBuffer和String之间的关系相关推荐

  1. 怎么理解 Kafka 消费者与消费组之间的关系?

    与生产者对应的是消费者,应用程序可以通过 KafkaConsumer 来订阅主题,并从订阅的主题中拉取消息.不过在使用 KafkaConsumer 消费消息之前需要先了解消费者和消费组的概念,否则无法 ...

  2. 怎么理解Kafka消费者与消费组之间的关系?

    与生产者对应的是消费者,应用程序可以通过 KafkaConsumer 来订阅主题,并从订阅的主题中拉取消息.不过在使用 KafkaConsumer 消费消息之前需要先了解消费者和消费组的概念,否则无法 ...

  3. java stringbuffer倒置_Java程序设计05——String和StringBuffer

    String和StringBuffer String和Stringbuffer类1.String的声明string s1="abc"; string s2 = new String ...

  4. [小技巧][JAVA][转换]字符数组char[]与字符串String之间互相转换

    1.字符数组转为字符串 方法1:直接在构造String时转换. char[] data = {'a', 'b', 'c'}; String str = new String(data); 方法2:调用 ...

  5. Java基础知识强化38:StringBuffer类之StringBuffer的添加功能

    1. StringBuffer的添加功能: public  StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身. publ ...

  6. 一道面试题:StringBuffer a=new StringBuffer (A); StringBuffer b=new StringBuffer

    前几天又看到这个面试题,再次看看 public  class  Jtest{        public  static  void  main(String[] args) {            ...

  7. python str byte编码_Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题...

    Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str ...

  8. char[],char *,string之间转换

    char []与char *之间转换 char []转char *:直接进行赋值即可 // char[] 转char * char str[] = "lala"; char *st ...

  9. C#中char[]与string之间的转换

    C#中char[]与string之间的转换 原文:C#中char[]与string之间的转换 string 转换成 Char[] string ss = "abcdefg"; ch ...

最新文章

  1. 自制反汇编逆向分析工具 迭代第六版本 (二)
  2. Android HTTP2 + Oauth2 + Jwt 接口认证实例
  3. c语言射击类小游戏任务书,(c语言课程设计报告小游戏“石头剪子布”.doc
  4. ubuntu ssh密钥_生成SSH密钥以在Ubuntu中进行无密码登录
  5. python 学习笔记 常用模块(五)
  6. Python爬虫方法三部曲
  7. Eclipse安装SVN插件subclipse方法
  8. linux安装富士施乐打印机驱动下载,linux s1810打印机驱动肿么安装
  9. Siamese-RPN论文阅读
  10. uniapp实现退出登录
  11. 征途对计算机配置要求,征途2配置要求是什么?
  12. html图片按钮按钮点击效果
  13. Build a project
  14. 晋丰佳创:抖音短视频里的版面内容复杂吗?这样设计的原因是什么
  15. React-Redux 学习,转载
  16. 【MySQL】记录锁?间隙锁?临键锁?到底锁了些什么?这一篇帮你捋清楚( ̄∇ ̄)/
  17. Redis总结二 - 测试案例
  18. ubuntu手贱卸载Python导致桌面有些图标不见解决方案
  19. 基于Mongodb的文件上传下载,图片预览
  20. 牛逼的在线书籍制作.

热门文章

  1. ganglia监控hadoop集群配置
  2. PHP 正则表达式preg_match
  3. matlab中bitget函数用法_Matlab函数大全
  4. 智慧档案室改造建设方案 - 一站式建设智慧档案馆建设方案
  5. 单细胞分析:质控实操(五)
  6. linux内核中内存耗尽OOM killer
  7. 最全自动驾驶数据集分享系列八 | 仿真数据集
  8. Windows Server 2008 域操作(创建域、加入域、创建普通用户、组策略管理设置)
  9. 麦克风声源定位原理_一种利用麦克风阵列进行声源定位的方法与流程
  10. Jetpack Compose——Icon(图标)的使用