String&&StringBuilder&&StringBuffer
2024-09-02 20:55:43
在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中加了锁
最新文章
- Unity3D和Egret3D的基情
- mysqldump: Error: Binlogging on server not active
- 淘宝网触屏版 - 学习笔记(0 - 关于dpr)
- sass基本用法(转载)
- 【Thinking in Java】Java Callable的使用
- --Dirring love 音乐(01背包问题)
- 像装软件一样装系统 Win8下怎么装Win7
- vitrualbox虚拟机64位安装报错解决
- SSI框架中配置log4j
- HMM模型
- android 29 ArrarAdapter数组适配器
- C# 实现简单状态机(参考代码)
- 安卓---高德地图API应用
- MooseFS代码分析(一)
- 【安卓网络请求开源框架Volley源码解析系列】初识Volley及其基本用法
- Oracle表空间的创建与删除
- vscode相关配置
- 线程优先级.Priority()
- jieba安装
- 【Linux 进程】fork父子进程间共享数据分析