String类的获取功能;
1.int length:获取字符串长度;
2.char charAt(int index):返回索引处的字符;
3.int indexof(int ch)(ch为Int类型的原因:'a'和97都可以表示'a'):返回指定字符在此字符串中第一次出现的索引值;
4.int indexof(String str):返回指定字符串在此字符串中第一次出现的索引值;
5.int indexof(int ch,int fromindex):从指定位置开始搜索指定字符在此字符串中第一次出现的索引值;
6.String subString(int start):截取从指定位置开始的字符串,默认截取到字符串的末尾;
7.String subString(int start,int end):截取从指定位置开始,到指定位置结束的字符串;
String类的转换功能:
1.public byte[] getBytes():把字符串转换为字节数组;
2.public char[] toCharArray():把字符串转换为字符数组;
3.public static String valueOf(char[] chs):把字节数组转换为字符串;
4.public static String valueOf(int i):把int类型的数据转换为字符串;
5.public String toLowerCase:字符串转为小写;
6.public String toUpperCase;字符串转为大写;
7.public concat(String str):字符串拼接;
注:String类的valueOf()方法可以将任意类型的数据转换为字符串;
String类的其他功能:
替换功能:
1.public String replace(char ole,char new):替换字符串中的字符;
2.public String replace(String old,String new):替换字符串中的字符串;
去除字符串前后的空格:
public String trim();
按字典顺序比较两个字符串:
1.public int compareTo(String str):比较两个字符串从左到右每一个字符的字典顺序,找到调用对象和比较对象第一个不同的字符,并返回调用方法对象的不相同的字符ASCILL码值减去比较对象的不相同的字符的ASCII码值,如果每一位都相同,返回调用对象的长度减去比较对象的长度;
2.public int copareToIgnoreCase(String str):忽视大小写的public int copareTo(String str);
注意事项:
String作为形参传递,不影响其本身;
StringBuffer:
是一个线程安全的可变字符序列,一个类似于String的字符串缓冲区,但不能修改.虽然在任意时间点上它都能包含某种特定的字符序列,但通过某些方法调用可以改变序列的长度和内容;
构造方法:
1.public StringBuffer():构造一个其中不带字符串的字符串缓冲区,其初始容量为16个字符;
2.public StringBuffer(int capacity):构造一个不带字符,但具有指定初始容量的字符缓冲区;
3.public StringBuffer(String str):构造一个字符缓冲区,并将其内容初始化为指定的字符串内容;
成员方法:
1.public int length():返回长度(字符数);
2.public int capacity():返回StringBuffer的容量;
添加方法:
1.public StringBuffer append(String str):将指定的字符串追加到字符序列;
2.public StringBuffer insert(int offset,String str):在指定位置将字符串插入到此字符序列中;
删除方法:
1.public StringBuffer deleteCharAt(int index):删除指定位置的字符;
2.public StringBuffer delete(int start,int end):删除从指定位置开始到指定位置结束的内容;
替换方法:
public StringBuffer replace(int start,int end,String str):替换字符序列中从指定位置开始到指定位置结束的字符串;
反转方法:
public StringBuffer reverse():反转字符序列;
截取方法:
1.public String subString(int start);截取从指定位置开始的字符串,默认截取到字符串的末尾;
2.public String subString(int start,int end):截取从指定位置开始,到指定位置结束的字符串;
String和StringBuffer类型之间的转换:
String->String Buffer:
1.构造方法:
例:
String s="hello";
StringBuffer sb=new StringBuffer(s);
2.append方法:
例:
String s="hello";
new StringBuffer().append(s);
String Buffer->String:
1.构造方法:
例;
String s=new String(new StringBuffer());
2.toString方法:
String s=StringBuffer.toString();
注:任何类型的数据都可以通过toString方法转换为String类型的数据;
String,StringBuilder,StringBuffer的区别:
1.String的内容不可以改变,而后两者的内容可以改变;
2.StrignBuffer是同步的,数据安全,效率低;而StringBuiler则与之相反;
StringBuffer和数组的区别:
两者都可以看成是一个容器,但是StringBuffer的数据最终是一个字符串,而数组是多个数据类型的同一种数据;