String 对象存储字符串的效率比 StringBuilder 高?

来源:2-7 练习题

血色万花筒

2017-12-28 16:25

string对象存储字符串的效率与stringbuilder,stringbuffer比较,哪个高?为什么


写回答 关注

3回答

  • 油泼裤带面
    2017-12-28 18:52:05
    已采纳

    StringBulider>StringBuffer>String;

    String确定字符串之后是固定的不可改变的;重新添加字符串就会成为一个新的对象,并非是原对象;

    StringBulider确定字符串后可对字符串进行修改、增加内容,且指定的还是原对象,性能比string高;

    StringBulider和StringBuffer比较,前者没有实现线程安全功能,后者是线程安全,所以前者比后者高;

    学霸985

    是StringBuilder 不是,,,, 关键字不要写错,不然以后就,,,

    2019-02-25 15:14:44

    共 2 条回复 >

  • qq_慕尼黑9434378
    2020-09-11 09:51:22
    String是不可变的,所以天然线程同步。
    同步就是排队,线程t1要执行的时候,必须等待t2线程执行结束;
    异步就是并发,各线程执行各自的,互不影响。
  • Anshay
    2018-01-19 10:27:24

    String主要用于公共API,通用性好、用途广泛、读取性能高、占用内存小。
    StringBuilder主要用于拼接String,修改性能好。
    不过现在的编译器已经把 String 的 + 操作优化成 StringBuilder 了,所以一般用String就可以了

    String是不可变的,所以天然线程同步。
    StringBuilder可变,非线程同步。

    筑梦堂

    String是不可变的,所以天然线程同步。这是误导初学者,这里不存在同步,根本就是异步

    2019-08-14 09:58:46

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题