String类是字符串常量,是不可更改的常量。
StringBuffer是字符串变量,它的对象是可以扩充和修改的。如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。对于StringBuffer对象的每次修改都会改变对象自身,这点是和String类最大的区别。
在需要对字符串执行重复修改的情况下,与创建新的 String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类。
用法:
String类——来源https://www.cnblogs.com/kaituorensheng/p/3776484.html
1、查找字符串中某个位置的字符
char charAt(int index); //返回指定索引index位置上的字符,索引范围从0开始
2、获取长度
*.length(); //这与数组中的获取长度不同,*.length;
3、在String类中查找指定位置的字符串第一次出现的位置的方法
int indexOf(String str); //从字符串开始检索str,并返回第一次出现的位置,未出现返回-1
4、查找最后一次出现的位置
int lastIndexOf(String str);
5、截取子串
String subString(int beginIndex);
6、字符串的替换
String replace(char oldChar,char newChar);
StringBuffer类——https://www.cnblogs.com/springcsc/archive/2009/12/03/1616330.html
1、StringBuffer对象的初始化
StringBuffer s = new StringBuffer();
2、append方法
StringBuffer append(boolean b) //该方法的作用是追加内容到当前StringBuffer对象的末尾
例:
StringBuffer sb = new StringBuffer(“abc”);
sb.append(true);
则对象sb的值将变成”abctrue”。
3、deleteCharAt方法
StringBuffer deleteCharAt(int index) // 删除指定位置的字符,然后将剩余的内容形成新的字符串。
例:
StringBuffer sb = new StringBuffer(“Test”);
sb. deleteCharAt(1);
则对象sb的值变为”Tst”。
4、insert方法
StringBuffer insert(int offset, boolean b) //在StringBuffer对象中插入内容,然后形成新的字符串。
例:
StringBuffer sb = new StringBuffer(“TestString”);
sb.insert(4,false);
则执行以后对象sb的值是”TestfalseString”。
5、reverse方法
StringBuffer reverse() //将StringBuffer对象中的内容反转,然后形成新的字符串。
例:
StringBuffer sb = new StringBuffer(“abc”);
sb.reverse();
经过反转以后,对象sb中的内容将变为”cba”。
6、setCharAt方法
void setCharAt(int index, char ch) //修改对象中索引值为index位置的字符为新的字符ch。
例:
StringBuffer sb = new StringBuffer(“abc”);
sb.setCharAt(1,’D’);
则对象sb的值将变成”aDc”。