StringBuilder 常用成员方法:
1.public StringBuilder append(任意类型) :添加数据,并返回对象自己
2.public StringBuilder reverse() :将缓冲区中的内容,进行反转
3.public length() : 返回长度
4.public String toString() : 将缓冲区的内容,异String字符串类型返回
转换String
String s = sb.toString();
//切割之后返回ses数组
String[] ses = s.split("色");
可以简写:
String[] ses = sb.toString().split("色");
String --->StringBuilder
String s="abc";
StringBuilder sb=new StringBuilder(s);
StringBuilder ---> String
String s=sb.toString();
public static void main(String[] args) {
StringBuilder sb=new StringBuilder();
//链式编程: 调用的方法,返回的结果是对象,就可以继续向下调用方法
sb.append("红色").append("绿色");
System.out.println(sb);
/*
情况:我数据在StringBuilder当中,我要调用的方法,StringBuilder没有,但是String有
解决: 转换String,再调用
*/
//转换String
String s = sb.toString();
//切割之后返回ses数组
String[] ses = s.split("色");
//对返回的数组进行遍历 获取元素内容
for (int i = 0; i < ses.length; i++) {
//System.out.println(ses); ses :打印的是地址
//System.out.println(ses.length); ses.length 打印的是长度
System.out.println(ses[i]); //ses[i] 打印的是数组内容
}
}
运行结果
红色绿色
红
绿
案例1
需求: 键盘接受一个字符串,程序判断出该字符串是否是对称字符串,并在控制台打印是或不是
对称字符串:123321 ,111
非对称字符串:123123
思路:对拿到的字符串进行反转,反转后的内容,跟原数据相同,判定为对称字符串
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//1.键盘录入字符串
System.out.println("请输入字符串");
String s=sc.nextLine();
//将String转换为StringBuilder,为了调用内部反转的方法,[直接放在new对象括号]
StringBuilder sb=new StringBuilder(s);
/**
StringBuilder reverse = sb.reverse();
String s1 = reverse.toString();
*/
sb.reverse();
//判断反转后的内容,和原数据是否相同
//s:是String类型
//sb: 是StringBuilder类型
if (s.equals(sb.toString())){
System.out.println("对称字符串");
}else {
System.out.println("不是字符串");
}
}
运行结果
请输入字符串
123321
对称字符串
案例2
需求:
定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回
调用该方法,并在控制台输出结果
例如: 数组为int[] arr={1,2,3};
执行方法后的输出结果为:[1,2,3]
调用方法
public static void main(String[] args) {
int[] arr={1,2,3};
String s = shu(arr);
System.out.println(s);
}
方法
public static String shu(int[] arr){
//1.多个字符串拼接想到StringBuilder,创建StringBuilder,准备进行拼接
StringBuilder sb=new StringBuilder("[");
//2.遍历数组,获取内部元素
for (int i = 0; i < arr.length-1; i++) {
//3.将获取到的元素,拼接到字符串缓冲区
sb.append(arr[i]).append(",");
}
//4.特殊处理最后一个元素
sb.append(arr[arr.length-1]).append("]");
return sb.toString();
}
运行结果
[1,2,3]