晓看天色暮看云
  • near_me
    首  页
  • view_week
    分  类
    keyboard_arrow_down
    layers
    页  面
    keyboard_arrow_down
  • description 文  章
    35
  • textsms 评  论
    0
  • vincent
    String和StringBuffer的区别

    access_time
    brush 264个字
    whatshot 31 ℃
    1. String是不可变的,StringBuffer是可变的,定义了String对象就不能进行修改,只能进行subString等操作,如果想改,只能重新new一个String对象。而StringBuffer却可以改变,定义了一个StringBuffer对象后,可以通过append和insert等函数进行对StringBuffer对象的修改。
    2. String类提供了一些方法,用来进行字符串的比较,这个类实现了Object父类的equals()方法,用来比较两个字符串对象的值是否相等。同时还增加了equalsIgnoreCase()方法可以忽略两个字符串对象的大小写区别。但是StringBuffer类并没有实现Object类的Equals方法,所以不能用这个方法来比较两个StringBuffer类的字符串是否相同等,除了equals方法来比较两个字符串对象外,还可以用==来比较字符串。与equals方法不同的是,==不是比较两个字符串的值是否相等,而是比较地址。
    3. 一般情况下,StringBuffer的效率比String的效率高,
    //以下代码String的效率更高
    String s1 ="This "+"is "+"a "+"string"
    // 在编译的时候会直接编译成,String s1 = "This is a String"
    StringBuffer s2="";
    s2.append("This");
    s2.append(" is");
    s2.append(" a");
    s2.append(" string");
    

    #如无特别声明,该文章均为 vincent 原创,转载请遵循 署名-非商业性使用 4.0 国际(CC BY-NC 4.0) 协议,即转载请注明文章来源。
    #最后编辑时间为: 2023 年 02 月 01 日





    关于 DreamCat

    主题名称:DreamCat | 版本:2.8.221001(LTS)

    主题开发:HanFengA7 | TeddyNight | Dev-Leo | CornWorld | WhiteBearcn | DFFZMXJ

    Designed by HanFengA7 Power by Typecho

    Copyright © 2015-2025 by LychApe All rights reserved!

    加我的QQ
    加我的微博
    加我的支付宝
    加我的微信