博客
关于我
Java.常用类.StringBuffer和StringBuilder
阅读量:318 次
发布时间:2019-03-04

本文共 1044 字,大约阅读时间需要 3 分钟。

常用类.StringBuffer和StringBuilder

  • java.lang.StringBuffer;
  • java.lang.StringBuilder;

1.StringBuffer、StringBuilder是一个字符串缓冲区

2.工作原理:

  • 预先在内存中留出一块空间,以容纳字符串序列,如果空间过小, 将会进行自动扩容。

3.StringBuffer、StringBuilder和String的区别

  • String是不可变字符串序列,存储在字符串常量池中。
  • StringBuffer、StringBuilder的底层是一个char类型的数组,且是可变数组,可以进行自动扩容   
  • StringBuffer、StringBuilder的默认初始化容量是16

4.如何如优化StringBuffer、StringBuilder?

  • 最好在创建StringBuffer之前,预测将会用到的字符串的字符量,
  • 然后再创建StringBuffer的时候采用指定初始化容量的方式创建StringBuffer
  • 可以减少底层数组的拷贝,提高效率

5.StringBuffer、StringBuilder的区别

  • StringBuffer是线程安全的(可以再多线程的环境下使用)
  • StringBuilder是非线程安全的   
public class StringTest05 {   	/**	 * @param args	 */	public static void main(String[] args) {   		// TODO Auto-generated method stub				//创建字符串缓冲区对象		StringBuffer sb = new StringBuffer(); //16				//向StringBuffer中追加字符串		String[] a = {   "篮球","足球","排球","羽毛球","乒乓球"};				//推荐字符串的拼接使用StringBuffer、StringBuilder		for(int i=0;i<a.length;i++){   			if(i==a.length-1){   				sb.append(a[i]);			}else{   				sb.append(a[i]);				sb.append(",");			}		}		System.out.println(sb); //篮球,足球,排球,羽毛球,乒乓球	}}

转载地址:http://yhhq.baihongyu.com/

你可能感兴趣的文章
web项目配置
查看>>
c语言(基本数据类型)实参与形参传值 用汇编理解
查看>>
基于单片机可控音乐流水灯控制设计-全套资料
查看>>
基于单片机简易信号误差分析设计-全套资料
查看>>
基于单片机简易脉搏测量仪系统设计-毕设课设资料
查看>>
并发框架下的“基础类型”——浅析基本类型、ThreadLocal、原子类的线程安全机制
查看>>
VHDL代码风格
查看>>
Object Clone
查看>>
Javascript中String支持使用正则表达式的四种方法
查看>>
【IoT】蓝牙BLE基础:CC254x通信系列之模拟SPI协议
查看>>
【IoT】TI BLE CC2541 串口控制蓝牙详解
查看>>
【产品】项目管理的五个过程和九大知识领域之二
查看>>
【Tool】如何使用 Uniflash 烧写 WIFI 芯片 CC3200
查看>>
copy_{to, from}_user()的思考
查看>>
Web前端安全策略之CSRF的攻击与防御
查看>>
纯客户端页面关键字搜索高亮jQuery插件
查看>>
linux运维中常用的命令
查看>>
M1芯片的macbook安装王者荣耀,原神,崩坏方法
查看>>
Java温故而知新-反射机制
查看>>
eclipse引用sun.misc开头的类
查看>>