package day01;
import java.util.Arrays;
/*
* StringBuilder该类用于对某个字符串频繁的编辑操作
* 使用StringBuilder可以在大规模修改字符串时不开辟新的
* 对象,从而节约内存资源。
* 所以,对已有着大量操作字符串的逻辑中,不应该使用String
* 而应该使用StringBuilder
* */
public class TestStringBuilder {
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuilder builder = new StringBuilder("java");
for(int i=0;i<10000;i++){
/*
* append在当前字符串末尾拼接给定的字符串
* 等同于字符串的+=操作,同上info+=“java”
* */
builder.append("java");
}
//String info = builder.toString();
System.out.println(Arrays.toString());
}
}
/*
* 向字符串中添加内容
* append是有返回值的,返回类型是StringBuilder
* 而返回的这个StringBuilder起始就是自己(this)
* append 方法的最后一句是return this;
*
* builder.append("大家好!")
* .append("我是范传奇")
* .append("没了")
*
*
* builder.insert(4,"!");
* System.out.println(builder.toString());
*0 1 23 4 5 6 7 8 9 10 11
*大家好!!我是范传奇没了
*将范传奇替换为苍老师
*builder.replace(7,10,"苍老师");
*System.out.println(builder.toString)
*
*将“没了”删除
*builder.delete(10,builer.length());
*System.out.println(builder.toString);
*
*StringBuilder与StringBuffer
*效果是不一样的
*区别:
* StringBuilder是线程安全的
* StringBuffer不是线程安全的
*在多线程操作情况下应使用StringBuilder
*因为StringBuilder是线程安全的,它那面要顾及安全问题,而进行必要
*的安全验证操作,所以速度要比StringBuffer低,根据实际情况选择
* */ |
|