• StringBuffer


    StringBuffer  

      StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。

             所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。

             StringBuffer类中存在很多和String类一样的方法,这些方法在功能上和String类中的功能是完全一样的。

    但是有一个最显著的区别在于,对于StringBuffer对象的每次修改都会改变对象自身,这点是和String类最大的区别。

             另外由于StringBuffer是线程安全的,关于线程的概念后续有专门的章节进行介绍,所以在多线程程序中也可以很方便的进行使用,但是程序的执行效率相对来说就要稍微慢一些。

    1StringBuffer对象的初始化

    StringBuffer对象的初始化不像String类的初始化一样,Java提供的有特殊的语法,而通常情况下一般使用构造方法进行初始化。

     

    例如:

     

             StringBuffer s = new StringBuffer();

     

    这样初始化出的StringBuffer对象是一个空的对象。

     

    如果需要创建带有内容的StringBuffer对象,则可以使用:

     

             StringBuffer s = new StringBuffer(“abc”);

     

    这样初始化出的StringBuffer对象的内容就是字符串”abc”

     

    需要注意的是,StringBufferString属于不同的类型,也不能直接进行强制类型转换,下面的代码都是错误的:

     

             StringBuffer s = “abc”;               //赋值类型不匹配

     

             StringBuffer s = (StringBuffer)”abc”;    //不存在继承关系,无法进行强转

     

    StringBuffer对象和String对象之间的互转的代码如下:

     

             String s = “abc”;

     

             StringBuffer sb1 = new StringBuffer(“123”);

     

             StringBuffer sb2 = new StringBuffer(s);   //String转换为StringBuffer

     

             String s1 = sb1.toString();              //StringBuffer转换为String

     

     2StringBuffer的常用方法

    StringBuffer类中的方法主要偏重于对于字符串的变化,例如追加、插入和删除等,这个也是StringBufferString类的主要区别。

     

     

     

    //创建一个字符串缓冲区对象。用于存储数据。
    StringBuffer sb = new StringBuffer();
    sb.append("haha"); //添加字符串
    sb.insert(2, "it");//在指定位置插入
    sb.delete(1, 4);//删除
    sb.replace(1, 4, "cast");//替换指定范围内的内容
    String str = sb.toString();

    注意:append、delete、insert、replace、reverse方法调用后,返回值都是当前对象自己,所以说,StringBuffer它可以改变字符序列的长度和内容。

  • 相关阅读:
    MoodNotes产品分析及功能说明书
    C#探秘系列(十)WPF:打开文件选择器选择文件并保存
    C#探秘系列(九)WPF连接Mysql数据库
    C#探秘系列(八)WPF数据绑定
    C#探秘系列(七):XML文件操作(一)
    #安卓杂记(七):自定义控件及属性获取
    C#探秘系列(六)
    安卓问题报告小记(七)
    121. Best Time to Buy and Sell Stock
    566. Reshape the Matrix
  • 原文地址:https://www.cnblogs.com/qq1312583369/p/11101406.html
Copyright © 2020-2023  润新知