1.String字符串类的获取功能
int length():获取字符串的长度。
char charAt(int index):获取指定索引位置的字符
int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。
int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引。没有就返回-1
int indexOf(int ch, int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
int indexOf(String str, int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
String substring(int start):从指定位置开始截取字符串,默认到末尾。
String substring(int start, int end):从指定位置开始到指定位置结束截取字符串。(左闭右开,包含头不包含尾)
2.String类的转换功能
byte[] getBytes():把字符串转换为字节数组。
char[] toCharArray():把字符串转换为字符数组。
static String valueOf(char [] chs):把字符数组转成字符串。
static String valueOf(int i):把int类型的数据转成字符串。
注意: string类的value)f方法可以把任意类型的数据转成字符串。
String toLowercase():把字符串转成小写。(了解)
String toUppercase():把字符串转成大写。
String concat(String str):把字符串拼接。感觉"+"更好用
3.String类的其他功能
A: String的替换功能
String replace(char old, char new)
String replace(String old, String new)
B: String的去除字符串两空格
String trim()
C: String的按字典顺序比较两个字符串及案例演示
int compareTo(String str)(暂时了解一下)
int compareToIgnoreCase(String str)(了解),忽略大小写
4.Stringbuffer类
(1)线程安全的可变字符序列
String和StringBuffer的区别——String是一个不可变的字符序列,而SrtingBuffer是一个可变的字符序列
(2)StringBuffer的构造方法
public StringBuffer():无参构造方法
public StringBuffer(int capacity):指定容量的字符串缓冲区对象
public StringBuffer(String str):指定字符串内容的字符串缓冲区对象
StringBuffer的方法:
public int capacity():返回当前容量。理论值(不拿握)
public int length():返回长度(字符数),实际值
(3)StringBuffer的添加功能
public StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
public StringBuffer insert(int offset,String str):在指定位置把任意类型的数据插入到字符串缓冲中区里面,并返回字符串缓冲区本身,现在说的这个方法只是举例.需要注意的是:如果在指定位置添加元素,没有指定位置的索引就会报索引越界异常.
StringBuffer是字符串缓冲区,当new的时候是在堆内存创建了一个对象,底层是一个长度为16的字符数组,当调用添加的方法时,不会再创建新对象,在不断向原缓冲区添加字符
(4)StringBuffer的删除功能
public StringBuffer deleteCharAt (int index):删除指定位置的字符,并返回本身
public StringBuffer delete(int start, int end):删除从指定位置开始指定位置结束的内容,并返回本身,左闭右开
清空缓冲区 : sb.delete(0,sb.length());
(5)tringBuffer的替换和反转功能
public StringBuffer replace(int start,int end,String str):从start开始到end用str替换,左开右闭.
public StringBuffer reverse():字符串反转
(6)StringBuffer的截取功能
public String substring(int start):从指定位置开始截取到末尾。
public String substring(int start; int end):从指定位置开始到指定位置结束截取字符串。(左闭右开,包含头不包含尾)
注意:返回值类型不再是StringBuffer本身了
(7)String和StringBuffer 的相互转换
String——>StringBuffer :
通过构造方法;通过append()方法
StringBuffer ——>String
通过构造方法;通过toString()方法;通过substring(0,length)方法
5.StringBuffer 和 StringBuilder 的区别
StringBuffer和 StringBuilder的区别
StringBuffer是dk1.0版本的,是线程安全的,效率低
StringBuilder是dk1.5版本的,是线程不安全的,效率高
StringBuffer,StringBuilder都是可变的字符序列
String和 StringBuilder分别作为参数传递
String作为参数传递,String虽然是引用类型,但是当它作为参数传递时和基本数据类型一样,不改变其原值
StringBuffer作为参数传递,如果在方法中改变了其值,其原值改变