zoukankan      html  css  js  c++  java
  • String和StringBuffer

       String定长字符串;

       StringBuffer变长字符串,在处理字符串时,每次修改都会改变对象自身而不生成新对象,内存优于String;

       StringBuffer是线程安全的,在多线程程序中可以很方便的使用,但是效率相对慢些。

    1.StringBuffer对象初始化

       一般用构造方法来创建,例如:

        StringBuffer s = new StringBuffer(); s为空对象

        StringBuffer s = new StringBuffer("abc"); s为"abc"

     【注】StringBuffer与String为不同类型,不能直接强转,StringBuffer对象和String对象之间互转如下:

         String s="abc";

         StringBuffer sb1 = new StringBuffer("123");

         StringBuffer sb2 = new StringBuffer(s);//String-->StringBuffer;

         String s1 = sb1.toString();//StringBuffer--->String;

    2.StringBuffer常用方法

       a.追加append()[将类容追加到StringBuffer对象的末尾,类似于字符串连接]

           public StringBuffer append(boolean b)

           使用该方法进行字符串的连接,如应用于数据库SQL语句的连接:

                 StringBuffer sb = new StringBuffer();

                 String user = "test";

                 String pwd = "123";

                 sb.append("select*from userInfo where username=")

          .append(user)

          .append("and pwd=")

          .append(pwd);

            则sb的值为"select * from userInfo where username=test and pwd=123"。

         b.deleteCharAt()[删除指定位置的字符,之后剩余内容形成新字符串]

               StringBuffer sb = new StringBuffer("0123");

               sb.deleteCharAt(1);

               删除索引为1的字符,所以sb的值变为"023";

             delete(int start,int end)[删除指定区间内的所有字符,包含start,不包含end的区间]

        StringBuffer sb = new StringBuffer("TestString");

        sb.delete(1,4);

        删除索引1-3的字符,所以sb的值变为"TString";

      c.insert()[在StringBuffer对象中插入内容,形成新的字符串]

        StringBuffer sb = new StringBuffer(“TestString”);

               sb.insert(4,false);

        sb的索引值4的位置插入false值,形成新的字符串,sb的值是”TestfalseString”

      d.reverse()[将StringBuffer对象中的内容反转,形成新字符串]

        StringBuffer sb = new StringBuffer(“abc”);

        sb.reverse();

        sb的值为"cba"。

      e.setCharAt(int index, char ch)[修改对象中索引值为index位置的字符为新的字符ch]

        StringBuffer sb = new StringBuffer(“abc”);

                sb.setCharAt(1,’D’);

                则对象sb的值将变成”aDc”

      f.trimToSize()[去掉字符串前后的空格,将对象中的存储空间缩小到和字符串长度一样]

  • 相关阅读:
    编程学习杂烩
    设计模式
    redis
    H5
    Java
    db工具
    python + pip
    mysql
    Spring Security
    Spring Cloud Gateway
  • 原文地址:https://www.cnblogs.com/joycelishanhe/p/3614785.html
Copyright © 2011-2022 走看看