在java中提供三个操作字符串的类:String,StringBuilder,StringBuffer

(1)什么是字符串:多个字符的集合

(2)String 是内容不可变的字符串。(底层使用了一个不可变的字符数组:final char[])

  

    [插]被final修饰的类不可被继承,final修饰的变量其值不可改,final修饰的方法不可被重写

(3)StringBuilder,StringBuffer是内容可变的字符串。(底层使用的是可变的字符数组:char[])

  

(4)最经典的就是拼接字符串,拼接字符串的时候要使用StringBuilder/StringBuffer而不能使用String.(如果使用String,则会拼接一次穿件一个新的对象,而StringBuilder/StringBuffer前后只需要使用一个对象)

(5)StringBuilder是线程不安的,效率高。StringBuffer是线程安全的效率低。

在StringBuffer中由于加了锁,所以每次append的时候都需要对锁进行判断,从而降低效率

(6)AbstractStringBuilder,他们的区别就在于StringBuffer中加了锁

最新文章

  1. Unity3D和Egret3D的基情
  2. mysqldump: Error: Binlogging on server not active
  3. 淘宝网触屏版 - 学习笔记(0 - 关于dpr)
  4. sass基本用法(转载)
  5. 【Thinking in Java】Java Callable的使用
  6. --Dirring love 音乐(01背包问题)
  7. 像装软件一样装系统 Win8下怎么装Win7
  8. vitrualbox虚拟机64位安装报错解决
  9. SSI框架中配置log4j
  10. HMM模型
  11. android 29 ArrarAdapter数组适配器
  12. C# 实现简单状态机(参考代码)
  13. 安卓---高德地图API应用
  14. MooseFS代码分析(一)
  15. 【安卓网络请求开源框架Volley源码解析系列】初识Volley及其基本用法
  16. Oracle表空间的创建与删除
  17. vscode相关配置
  18. 线程优先级.Priority()
  19. jieba安装
  20. 【Linux 进程】fork父子进程间共享数据分析

热门文章

  1. Class对象和反射
  2. 使用git和intelliJ
  3. HDU 4109 Instrction Arrangement(DAG上的最长路)
  4. 团队冲刺Alpha(八)
  5. atan与atan2的区别
  6. DOM对象转化成jQuery对象
  7. BZOJ2594 [Wc2006]水管局长数据加强版 【LCT维护最小生成树】
  8. 洛谷 P2597 [ZJOI2012]灾难 解题报告
  9. chrome性能指标(TTFB,TTSR,TTDC,TTFL)
  10. 有趣的数(number)