大数据

String、StringBuffer、以及StringBuil

2018-11-15  本文已影响6人  sendos

一、String

String由于是不可变类,所以线程安全。

二、StringBuffer以及StringBuilder

先看StringBuffer和StringBuilder的关系图:


image.png

StringBuffer和StringBuilder都是继承AbstractStringBuilder类,AbstractStringBuilder已经实现了大量通用方法:


image.png
对比StringBuilder的append方法已经StringBuffer的append方法:
    @Override
    public StringBuilder append(CharSequence s, int start, int end) {
        super.append(s, start, end);
        return this;
    }

    @Override
    public synchronized StringBuffer append(CharSequence s, int start, int end)
    {
        toStringCache = null;
        super.append(s, start, end);
        return this;
    }

区别只是一个在方法前加了synchronized,一个没有,所以StringBuffer是线程安全,StringBuilder是线程非安全。

上一篇 下一篇

猜你喜欢

热点阅读