String:
String对象初始化之后不可变
线程安全
简单的字符串操作使用String效率更高

StringBuffer:
StringBuffer对象初始化之后可改变
线程安全
频繁的字符串操作可以使用StringBuffer

StringBuilder:
StringBuilder对象初始化之后可改变
线程不安全
频繁的字符串操作可以使用StringBuilder

补充:
1.常见的String变化指的是引用变量的改变,引用变量指向新生成的对象的地址。
2.
String temp = "abc";
String str = new String("abc")
temp指向在常量池中的,
str指向堆上的,
而str内部的char[] value则指向常量池中的char[] value
3.对于字符串比较频繁的进行操作,不建议使用String,消耗内存
4.jdk1.5开始,用加号来拼接字符串隐式改成使用StringBuilder连接
5.因为java中对于String的使用非常频繁,为了避免一个系统中产生大量的String对象,引入了字符串常量池
6.StringBuffer和StringBuilder进行末尾追加操作时,可能存在一个内存空间的扩容
7.使用反射的原理可以改变String对象的值。

最新文章

  1. 一个flex buider 3 在eclipse下不能编译的问题解决
  2. 一次疏忽导致的bug
  3. 【CQOI2016纯净整合】BZOJ-4519~4524 (6/6)
  4. Java学习路线图
  5. linux安全体系
  6. [GRYZ2015]足球联赛
  7. 转:ASP.NET MVC 3 and App_Code folder
  8. [LeetCode#253] Meeting Rooms II
  9. perl 爬取csdn
  10. C# 经典入门15章 -ListView 【未附代码】
  11. JavaScript享元模式
  12. CSS后代选择器“空格”和“>”的使用辨析
  13. 【Oracle RAC】Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂)
  14. #4 Python面向对象(三)
  15. python:id与小数据池与编码
  16. AS 中 Plugin for Gradle 和 Gradle 之间的版本对应关系
  17. fjwc2019 D4T1 循环流
  18. 性能测试工具 Web Service 性能测试工具比较
  19. python day09--定义函数
  20. 【原创】Docker实战 Dockerfile最佳实践&&容器之间通信

热门文章

  1. 新建pc端页面的模板
  2. js 万能判断
  3. 微信小程序 初阶
  4. linux 下安装mysql5.7.17
  5. 【centos】 error: command 'gcc' failed with exit status 1 错误
  6. Java List 快速搜索对象
  7. 在小程序中引入有赞的vant框架组件
  8. delphi xe10 网络文件传送
  9. CRI 与 ShimV2:一种 Kubernetes 集成容器运行时的新思路
  10. 暑期集训日志(Day6~Day17)