zoukankan      html  css  js  c++  java
  • String,StringBuffer,StringBuilder的区别

    public static void main(String[] args) {
        String str = new String("hello....");
        StringBuffer stringBuffer = new StringBuffer(str);
        StringBuilder stringBuilder = new StringBuilder();
        
        stringBuffer.append("world").append("!!");
        //System.out.println(stringBuffer.reverse());//字符串反转
        stringBuffer.insert(7, "$$");
        System.out.println(stringBuffer.toString());
        //stringBuffer.delete(start, end)
        
        /**
         * String,StringBuffer,StringBuilder的区别:
         * String类的内容一旦声明则不可改变,StringBuffer,StringBuilder的内容可以改变
         * 三者都是CharSequence接口的子类
         * StringBuffer是从JDK1.0时提供的,属于线程安全的操作,是同步操作,因为方法上有synchronized关键字
         * StringBuilder是从JDK1.5出现的,线程不安全,是异步操作,但效率高
         * 多线程访问同一资源时,必须用StringBuffer
         *
         **/
    }
    
    

    public final class StringBuffer
    extends AbstractStringBuilder
    implements java.io.Serializable, CharSequence

    StringBuffer 的 append()
    @Override
        public synchronized StringBuffer append(String str) {
            toStringCache = null;
            super.append(str);
            return this;
        }

    public final class StringBuilder
    extends AbstractStringBuilder
    implements java.io.Serializable, CharSequence

    StringBuilder 的 append()
    @Override
        public StringBuilder append(String str) {
            super.append(str);
            return this;
        }
  • 相关阅读:
    HTML目录
    Java目录
    高级Swing——列表
    Java Web目录
    mongodb目录
    MySQL目录
    基于C++11的线程池
    数据库架构的演变
    cocos2dx-3.0(14)------SpriteBatchNode与SpriteFrameCache加快渲染
    cocos2d-x 托付模式的巧妙运用——附源代码(一)
  • 原文地址:https://www.cnblogs.com/wwzyy/p/5534418.html
Copyright © 2011-2022 走看看