StringBuilder builder = new StringBuilder();
//1、append:字符串拼接
builder.append("为什么");
builder.append("为什么");
builder.append("要用StringBuilder");
builder.append("对字符串");
builder.append("进行").append("操作").append("呢?");//链式操作
logger.info(builder.toString());
//2、indexOf & lastIndexOf 获取字符串索引值
// builder = "为什么要用StringBuilder对字符串进行操作呢?"
//indexOf:获取字符串的索引值 输出:3
logger.info("indexOf 获取'要'的索引:" + builder.indexOf("要"));
//indexOf:获取字符串索引,指定索引处开始。输出:13
logger.info("indexOf 指定索引处开始: " + builder.indexOf("i",8));
//lastIndexOf:获取字符串的索引值 输出:3
logger.info("lastIndexOf 获取'要'的索引:" + builder.lastIndexOf("要"));
//lastIndexOf:获取字符串索引,指定索引处开始。输出:8
logger.info("lastIndexOf 指定索引处开始: " + builder.lastIndexOf("i",14));
//两个 i 的索引为:8、13。
//indexOf 指定索引开始 返回第一个,会忽咧前面的。
//lastIndexOf 指定索引开始 返回最后一个;不会忽咧前面。
//支持 CharSequence 对象
CharSequence sequence = "123456789";
System.out.println("sequence.length()="+sequence.length());//9
System.out.println("sequence.toString()="+sequence.toString());//123456789
System.out.println("sequence.charAt(3)="+sequence.charAt(3));//4
System.out.println("sequence.subSequence(0, 2)="+sequence.subSequence(0, 2));//12
// IntStream intStream = sequence.chars();
System.out.println("sequence.chars()="+sequence.chars().max());//OptionalInt[57]???
System.out.println("sequence.codePoints()="+sequence.codePoints().min());//OptionalInt[49]???
logger.info("CharSequence对象 : "+builder.insert(0,sequence,0,2));//插入索引位、对象、对象起始索引、对象结束索引
//4、substring 指定索引处返回新字符串
logger.info("builder.substring(5)="+builder.substring(5));
logger.info("builder.substring(5,9)="+builder.substring(5,9));
//5、replace 指定索引处替换
logger.info("builder.replace(0,3,\"\")="+builder.replace(0,5,""));
//6、length 获取长度
int length = builder.length();
logger.info(String.valueOf(length));
//7、toString 支持转为字符串
return builder.toString();