String:String是不可变类,即一个Sting被创建以后,包括在这个对象中的字符序列是不可改变的,直至这个对象被销毁。看似修改的字符串实际上是重新生成了新的实例对象,并指向新的实例对象。
String常用函数: 1.char类型的charAt(int index)函数
作用:返回当前字符串中给定位置对应的字符
2.int类型的indexOf(String str)
作用:返回给定字符串在当前字符串中的位置,若当前字符串不包含该内容时返回值为-1
重载方法:indexOf(String str,int index)
作用:可以从指定位置index开始检索,字符串第一次出现的位置
3.int类型的lastindexof(String str)
作用:查找最后一次出现的位置。
4.int类型的int length()
作用:返回当前字符串的长度。
5.boolean类型的startsWith(String str)和endWith(String str)
作用分别是:判断字符串是否以给定字符串开始或结尾。
6.String类型的substring(in tstart,int end)
作用:截取当前字符串中指定范围内的子字符串两个参数为开始位置与结束位置的下标,通常JavaAPI中使用两个数字表示范围时都是”含头不含尾”的。
7.String类型的substring(in tstart)
作用:从指定位置截取到字符串末尾。
8.String类型的trim()
作用:去除字符串两边的空白字符。
9.static String类型的valueOf(XXX xxx)
作用:String提供了一组静态的valueOf方法,可以将其他类型转换为字符串和其他类型+””作用一样,比较常用的是将基本类型转换为字符串。
10.String支持正则表达式方法之一:boolean matches(String regex)
使用给定的正则表达式验证当前字符串的内容是否符合格式要求,符合则返回true。
11.String支持正则表达式二:String[] split(String regex)
将当前字符串按照满足正则表达式的部分进行拆分,将拆分后的字符串以数组形式返回。
12.String支持正则表达式方法三:String replaceAll(String regex,String str)
将当前字符串中满足正则表达式的部分替换为给定的字符串。
StringBuffer:StringBuffer对象则代表一个字符序列可变的字符串,当一个StringBuffer被创建以后,通过StringBuffer提供的append()、insert()、reverse()、setCharAt()、setLength()等方法可以改变这个字符串对象的字符序列。一旦通过StringBuffer生成了最终想要的字符串,就可以调用它的toString()方法将其转换为一个String对象。 它没有重新生成一个对象,而且在原来的对象中可以连接新的字符串。而且是线程安全的。 StringBuffer类中的方法都添加了synchronized关键字,也就是给这个方法添加了一个锁,用来保证线程安全。
常用函数:
1、append方法
public StringBuffer append(boolean b)
该方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接。调用该方法以后,StringBuffer对象的内容也发生改变.
2.deleteCharAt方法
public StringBuffer deleteCharAt(int index)
该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字符串。3、insert方法
public StringBuffer insert(int offset, boolean b)
该方法的作用是在StringBuffer对象中插入内容,然后形成新的字符串。
4、reverse方法
public StringBuffer reverse()
该方法的作用是将StringBuffer对象中的内容反转,然后形成新的字符串。
5 、setCharAt方法
public void setCharAt(int index, char ch)
该方法的作用是修改对象中索引值为index位置的字符为新的字符ch
6、trimToSize方法
public void trimToSize()
该方法的作用是将StringBuffer对象的中存储空间缩小到和字符串长度一样的长度,减少空间的浪费。
StringBuilder:
StringBuilder类也代表可变字符串对象。实际上,StringBuilder和StringBuffer基本相似,两个类的构造器和方法也基本相同。不同的是:StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,所以性能略高。
常用方法:
1. Append方法可用来将文本或对象的字符串表示形式添加到由当前 StringBuilder对象表示的字符串的结尾处。
2.length()—获取字符的长度。
3.char charAt(int index) –返回指定索引位置上的字符。
4.delete(int start, int end) :删除从start(包含)到end(不包含)位置的字符,start为0~length-1,end可以超出长度。
5.deleteCharAt(int index):删除某个索引位置上的字符,index不能越界
6.int indexOf(String str) :从头开始查找某个字符串在源字符串中第一次出现的位置返回指定子字符串第一次出现的字符串内的索引。
6.int indexOf(String str, int fromIndex):从fromIndex位置(包含)开始查找某个字符串在源字符串中第一次出现的位置。
7.insert():在制定的偏移量位置插入值。
8.replace(int start, int end, String str) : 从start到end之间的字符串替换成新字符串。
9.reverse() :倒置。
10.setCharAt(int index, char ch) :设置指定索引位置的字符。
11.setLength(int newLength) :设置长度。
12. substring(int start) :从start(包含)位置截取字符串返回一个新的 String ,其中包含此字符序列中当前包含的字符的子序列。
12.String substring(int start, int end)。
13.将StringBuffer转成String—-调用toString()方法。
14.将String转成StringBuffer—-new StringBuffer(str)。