String、StringBuffer、StringBuilder的异同

String、StringBuffer、StringBuilder的异同

    不同:

      可变性上:

        String底层是一个final类型的字符数组,所以String的值是不可变的

        StringBuffer和StringBuileder都继承了AbstractStringBuilder抽象类,他们的底层都是可变的字符数组,所以这两者是可变的

 

      线程安全上:

        String由于其不可变性,是线程安全的

        StringBuffer的方法有synchronized关键字修饰是线程安全的

        StringBuilder不是线程安全的

 

      效率上:

        三者效率由高到低分别为:StringBuileder > StringBuffer > Strin

 

 

 

      注:StringBuffer和StringBuileder默认初始化容量都是16

 

 

posted @ 2019-10-18 22:45  发育中的程序猿  阅读(203)  评论(0编辑  收藏  举报