JAVA学习笔记——字符串操作(String,StringBuffer,StringBuilder)

java中用于存储和操作字符串的类有3个,分别是String,StringBuffer和StringBuilder。

这3个类都是final类型的,也就是说不可以被继承。他们都实现了java.io.Serializable接口。

一、String

String是一个不可变常量,他的值一旦创建就不能再做更改。我们一般对String的操作事实上都是重新建立了一个新的String对象。

创建String对象的两大方式:

1、申明时直接赋值:

String  str =  "abc";

2、通过构造方法创建,String类一共有15种构造方法,其中常用的有8种分别是:

1. String()

2. String(String value)

3. String(StringBuffer sb)

4. String(StringBuilder sb)

5. String(Char[] ch)

6. String(Char[] ch, int offset, int count)

7. String(byte[] b)

8.String(byte[] b , int offset, int count)

二、StringBuffer
是一个可变对象,对它的操作不会再重新创建新的对象,而且是线程安全的。
StringBuffer对象的创建只能通过其构造方法(4种),不能直接像String一样赋值。
	
 //创建一个空的字符缓冲区,默认初始容量为16个字符
  StringBuffer sb1 = new StringBuffer();
	
	//创建一个空的字符串缓冲区,并指定起初始容量大小
	StringBuffer sb2 = new StringBuffer(20);
	
	//创建一个给定内容的字符串缓冲区,初始容量为16加上给定字符串的长度
	StringBuffer sb3 = new StringBuffer("abcd");
	
	//创建一个给定内容的字符串缓冲区,初始容量为16加上给定字符串的长度
	StringBuffer sb4 = new StringBuffer(sb3);

三、StringBuilder
这个类是单线程的,是StringBuffer的简化版,用于多线程不安全。但是在单线程的情况下要币StringBuffer速度更快。使用方法和StringBuffer一样。

你可能感兴趣的:(java学习笔记)