在Java中,如果需要对字符串做很多修改,那么应该选择使用 StringBuffer 类。
StringBuffer类的读入
import java.util.*;
public class Main {
public static void main(String args[]) {
//先读入string中,再调用append方法添加
Scanner cin=new Scanner(System.in);
StringBuffer s=new StringBuffer();
String ch=cin.next();
s.append(ch);
System.out.print(s);
}
}
StringBuffer类的具体操作
import java.lang.reflect.Array;
import java.util.*;
import java.math.BigInteger;
//DLRU
public class main {
public static void main(String args[]) {
//定义
StringBuffer s=new StringBuffer();
//添加字符串
s.append("aaaa");
s.append("bbbb");
System.out.println(s);
//对字符串反转
s.reverse();
System.out.println("字符串反转结果:"+s);
//代替字符串[2,5)的内容
s.replace(2, 5,"ccccc");
System.out.println("代替字符串[2,5)的内容"+s);
//在位置2插入元素‘d’
s.insert(2, 'd');
System.out.println("在位置2插入元素‘d’"+s);
//在位置2插入元素1
s.insert(3, 1);
System.out.println("在位置2插入元素1"+s);
//查找位置4上的元素
char a=s.charAt(4);
System.out.println("查找位置4上的元素"+a);
//删除[4,7)的元素
s.delete(4, 7);
System.out.println("删除[4,7)的元素"+s);
//返回字符串长度
System.out.println("返回字符串长"+s.length());
//截取[2,5)的子串
String ss=s.substring(2,5);
System.out.println("截取[2,5)的子串"+ss);
//从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。
System.out.println(s.indexOf("c"));
//返回最右边出现的指定子字符串在此字符串中的索引
System.out.println(s.lastIndexOf("c"));
}
}
运行结果
aaaabbbb
字符串反转结果:bbbbaaaa
代替字符串[2,5)的内容bbcccccaaa
在位置2插入元素‘d’bbdcccccaaa
在位置2插入元素1bbd1cccccaaa
查找位置4上的元素c
删除[4,7)的元素bbd1ccaaa
返回字符串长9
截取[2,5)的子串d1c
4
5