Java基础(basis)-----StringBuffer和StringBuilder的区别

1. StringBuffer和StringBuilder的相同点

  • 都继承AbstractStringBuilder类
  • StringBuffer和StringBuilder都是内容可变的
  • StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象

2. StringBuffer和StringBuilder的不同点

  • StringBuffer是线程安全的,StringBuilder是线程非安全的
  • StringBuilder的效率高于StringBuffer
package com.practice;

import java.util.Arrays;

/**
 * 可变字符串
 * 
 * @author yyx 2019年8月28日
 */
public class Practice {
    public static void main(String[] args) {
        /*
         * @Override 
         * public synchronized String toString() { 
         * if (toStringCache == null)
         * { 
         * toStringCache = Arrays.copyOfRange(value, 0, count); 
         * } 
         * return new String(toStringCache, true); 
         * }
         */
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append("中国");
        stringBuffer.append("China");
        System.out.println(stringBuffer.toString());
        
        /*
         * @Override
           public String toString() {
             return new String(value, 0, count);
           }
         */
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("中国");
        stringBuilder.append("China");
        System.out.println(stringBuilder.toString());
    }
}

猜你喜欢

转载自www.cnblogs.com/fengfuwanliu/p/11408951.html