string,stringbuffer,stringbuilder的区别

来源:互联网 发布:神界原罪2低配优化 编辑:程序博客网 时间:2024/06/06 01:08

string,stringbuffer,stringbuilder的区别

标签: javastringbufferstringbuilderstring线程安全
6人阅读 评论(0)收藏举报
分类:
作者同类文章X

    (1)可变与不可变:String是不可变字符串对象,StringBuilder和StringBuffer是可变字符串对象(其内部的字符数组长度可变)。

    (2)是否多线程安全:String中的对象是不可变的,也就可以理解为常量,显然线程安全。StringBuffer 与 StringBuilder 中的方法和功能完全是等价的,只是StringBuffer 中的方法大都采用了synchronized 关键字进行修饰,因此是线程安全的,而 StringBuilder 没有这个修饰,可以被认为是非线程安全的。

    (3)String、StringBuilder、StringBuffer三者的执行效率:
    StringBuilder > StringBuffer > String 当然这个是相对的,不一定在所有情况下都是这样。比如String str = "hello"+ "world"的效率就比 StringBuilder st  = new StringBuilder().append("hello").append("world")要高。因此,这三个类是各有利弊,应当根据不同的情况来进行选择使用:
    当字符串相加操作或者改动较少的情况下,建议使用 String str="hello"这种形式;
    当字符串相加操作较多的情况下,建议使用StringBuilder,如果采用了多线程,则使用StringBuffer。
    0
    1
     
     

      相关文章推荐
    • Java基础之String,StringBuffer与StringBuilder的区别及应用场景
    • 【直播】70天软考冲刺计划--任铄
    • String、StringBuilder和StringBuffer的区别
    • 【直播】打通Linux脉络 进程、线程、调度--宋宝华
    • 详述 Java 语言中的 String、StringBuffer 和 StringBuilder 的使用方法及区别
    • 【直播】机器学习之凸优化--马博士
    • Java中String,StringBuffer与StringBuilder的区别
    • 【套餐】MATLAB基础+MATLAB数据分析与统计--魏伟
    • java中String、StringBuffer、StringBuilder的区别
    • 【课程】3小时掌握Docker最佳实战--徐西宁
    • String-StringBuffer-StringBuilder
    • 【课程】深度学习基础与TensorFlow实践--AI100
    • String, StringBuilder 与StringBuffer的区别与联系
    • String及StringBuffer和StringBuilder的区别
    • String ,StringBuffer与StringBuilder
    • StringBuilder、StringBuffer、String区别
    原创粉丝点击