博客
关于我
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/

你可能感兴趣的文章
环信SDK 踩坑记webIM篇(一)
查看>>
通信基础知识
查看>>
DSP开发板准备
查看>>
测试基本
查看>>
c++中istringstream及ostringstream超详细说明
查看>>
c++中ifstream及ofstream超详细说明
查看>>
c++中explicit和mutable关键字探究
查看>>
c语言结构体字节对齐详解
查看>>
linux c/c++面试知识点整理(八)
查看>>
linux网络编程系列(十二)--滑动窗口、拥塞控制、断线重连机制
查看>>
Deep residual learning for image recognition
查看>>
IO控制器
查看>>
LeetCode122.买卖股票的最佳时机2Golang版
查看>>
Java 知识点总结篇(2)
查看>>
Python 知识点总结篇(2)
查看>>
Python 知识点总结篇(3)
查看>>
Numpy 如何操作数组
查看>>
爬取网易科技滚动新闻
查看>>
vuex modules
查看>>
Java笔记:单链表
查看>>