StringBuilder类
1、在API中对String类有这样的描述:字符串是常量,它们的值在创建后不能被更改。StringBuilder就是用来解决字符串常量的问题的StringBuilder概述
2、查阅java.lang.StringBuilder的API,StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。
原来StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。
它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。原理如下图所示:(默认16字符空间,超过自动扩充)
StringBuilder的字符反转的算法:
题目需求:
(1)打印由7,8,9三个数组成的三位数,要求该三位数中任意两位数字不能相同;
(2)打印格式最后的三位数字以空格分隔,如789 798 879 897 978 987。
注:要求使用StringBuilder来完成
代码:
public class StringBuilderTest3 {
public static void main(String[] args) {
//定义一个动态数组
String[] arr=new String[6];
int h=0;
StringBuilder sb=new StringBuilder("78978");
for (int i = 0; i <=2; i++) {
//获取第一个3位数789
arr[h++] =sb.substring(i, i + 3);
//将获取的数字取反 如第一个数:789—> 987
arr[h++] =new StringBuilder(sb.substring(i, i + 3)).reverse().toString();
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+” ”);
}
}
}
运行结果:
789 987 897 798 978 879