StringBuffer 和 StringBuilder
来源:互联网 发布:csgo n卡优化 编辑:程序博客网 时间:2024/05/16 17:59
String str= "abc"; 常用的创建字符串对象 (不可变的字符串序列,定义出来就像一个常量)
StringBuffer *可变*的字符序列 (理解为存放字符串的集合或*容器*)
//创建了一个容器 自增长 默认初始长度为16 个字符
StringBuffer sb=new StringBuffer();
sb.append();//添加 虽然可以添加多种类型 但是会*自动转换*成字符串类型
StringBuffer sb=new StringBuffer("aaa"); 初始化自带字符串 aaa
StringBuffer sb=new StringBuffer(20); 初始化自带默认指定容量
//append();返回的是StringBuffer本身
StringBuffer sb1=new StringBuffer("aaa"); 1
StringBuffer sb2=new StringBuffer(false);
StringBuffer sb3=new StringBuffer(5);
sb1.append(3.5);
syso(sb1);
syso(sb2);
syso(sb3);
因为append返回的是类本身,不会再开辟空间 sb1 sb2 sb3 只是类对象的引用(指向同一块空间)
都是操作的同一块空间 所以内存上的内容变化 引用也会跟着变化 三个输出结果一样
sb.capacity(); 返回当前容量 引用返回的容量也一样
sb.delete("aaa"); 移除aaa
sb.deleteCharAt(2);移除第二个位置的元素
sb.delete(0,2); 移除 包含头不包含尾
//将此序列复制到目标的字符数组中
sb.getChars(int srcBegin, int srcEnd,char[]dst,int dstBegin);
sb.insert(0,"aaa"); 从第零个位置插入aaa
sb.reverse(); 字符串反转 (a到z排序 反转后变成 z到a 排序)
StringBUffer在线程方面的用处,要是把数据放到里面,相当于加同步(共享数据)
线程安全,效率低一些,每次都要判断一下同步
StringBuilder 线程不安全 效率高一些
主要是用Builder 不安全概率极低 主要考虑效率
方法和StringBuffer一样的用法
*********添加返回的数据都是其本身
StringBuffer *可变*的字符序列 (理解为存放字符串的集合或*容器*)
//创建了一个容器 自增长 默认初始长度为16 个字符
StringBuffer sb=new StringBuffer();
sb.append();//添加 虽然可以添加多种类型 但是会*自动转换*成字符串类型
StringBuffer sb=new StringBuffer("aaa"); 初始化自带字符串 aaa
StringBuffer sb=new StringBuffer(20); 初始化自带默认指定容量
//append();返回的是StringBuffer本身
StringBuffer sb1=new StringBuffer("aaa"); 1
StringBuffer sb2=new StringBuffer(false);
StringBuffer sb3=new StringBuffer(5);
sb1.append(3.5);
syso(sb1);
syso(sb2);
syso(sb3);
因为append返回的是类本身,不会再开辟空间 sb1 sb2 sb3 只是类对象的引用(指向同一块空间)
都是操作的同一块空间 所以内存上的内容变化 引用也会跟着变化 三个输出结果一样
sb.capacity(); 返回当前容量 引用返回的容量也一样
sb.delete("aaa"); 移除aaa
sb.deleteCharAt(2);移除第二个位置的元素
sb.delete(0,2); 移除 包含头不包含尾
//将此序列复制到目标的字符数组中
sb.getChars(int srcBegin, int srcEnd,char[]dst,int dstBegin);
sb.insert(0,"aaa"); 从第零个位置插入aaa
sb.reverse(); 字符串反转 (a到z排序 反转后变成 z到a 排序)
StringBUffer在线程方面的用处,要是把数据放到里面,相当于加同步(共享数据)
线程安全,效率低一些,每次都要判断一下同步
StringBuilder 线程不安全 效率高一些
主要是用Builder 不安全概率极低 主要考虑效率
方法和StringBuffer一样的用法
*********添加返回的数据都是其本身
阅读全文
0 0
- String 、StringBuffer 和 StringBuilder
- String、StringBuffer和StringBuilder
- String、StringBuffer和StringBuilder
- String、StringBuffer和StringBuilder
- StringBuffer 和 StringBuilder比较
- StringBuffer 和 StringBuilder
- String、StringBuffer和StringBuilder
- 浅析StringBuilder和StringBuffer
- String Stringbuffer和StringBuilder
- StringBuffer和StringBuilder区别
- stringBuffer 和stringBuilder
- String ,StringBuffer和StringBuilder
- StringBuilder和StringBuffer
- StringBuffer和StringBuilder区别
- String、StringBuffer和StringBuilder
- StringBuffer和StringBuilder
- StringBuffer和StringBuilder
- StringBuffer和StringBuilder
- 基于ZooKeeper的分布式Session实现
- (转) java double、float 运算
- 浅谈iOS社交类个人主页界面的布局解析
- 数据库连接池----Druid配置详解
- 为金蝶K3页面增加批量导入选项(其它出库、其它入库、调拨单、生产领料、外购入库、成本调整)
- StringBuffer 和 StringBuilder
- 记录一次坑爹的Tomcat部署
- springBoot 一直扫描不到mapper
- linux中常用操作命令
- wx.request中的data参数传递
- android之注解基础
- Android框架中的MVC、MVP、MVVM设计思想
- 二叉树的几种遍历方式
- 如何判断Camera是否为UVC Camera