String

2018-02-28  本文已影响0人  luoqiang108
/**
 * StringBuilder该类对于某个字符串频繁的编辑操作
 * 使用StringBuilder可以在大规模修改字符串时不开辟新的字符串对象,从而节约内存资源。
 * 所以,对已有着大量操作字符串的逻辑中,不应使用String而应该使用StringBuilder。
 */
public class StringBuilderTest {
    public static void main(String[] args){
        StringBuilder stringBuilder=new StringBuilder("I");
        String string=stringBuilder.toString();//I
        System.out.println(string);
        //追加字符串
        stringBuilder.append("love").append(" java!");
        System.out.println(stringBuilder.toString());//Ilove java!
        //插入字符串
        stringBuilder.insert(1," ");
        System.out.println(stringBuilder.toString());//I love java!
        //替换字符串
        stringBuilder.replace(2,6,"hate");
        System.out.println(stringBuilder.toString());//I hate java!
        //删除字符串
        stringBuilder.delete(6,stringBuilder.length());
        System.out.println(stringBuilder.toString());//I hate
        //字符串反转
        stringBuilder.reverse();
        System.out.println(stringBuilder.toString());//etah I
    }
}
  1. 效果是一样的
  2. 区别:StringBuilder不是线程安全的,StringBuffer是线程安全的。
  3. 在多线程操作的情况下用StringBuffer,因为StringBuffer是线程安全的;它难免要顾及线程安全问题,而进行必要的安全验证操作,所以效率上比StringBuilder低。根据实际情况选择使用。
上一篇 下一篇

猜你喜欢

热点阅读