Java对象StringBuffer类-11-添加和删除方法

      在了解了StringBuffer类的构造方法之后,再来学习StringBuffer类的方法,这篇来学习添加和删除方法的基本使用。

 

1.StringBuffer append()

 

      打开API中StringBuffer页面,发现有好多个append(),可以看到,包含8大基本数据类型和任意对象都能作为参数,使用这个append()方法。

 

package stringbuffer;

public class Demo1_StringBuffer {

   public static void main(String[] args) {
     StringBuffer sb = new StringBuffer();
     System.out.println(sb);
     StringBuffer sb2 = sb.append(true);
     System.out.println(sb2);
     StringBuffer sb3 = sb.append("Anthony");
     System.out.println(sb3);
     StringBuffer sb4 = sb.append(100);
     System.out.println(sb4);
   }
}

输出:

true

trueAnthony

trueAnthony100

上面的输出过程,我们可以清晰看到字符串拼接的效果。下面我们修改一下这段代码来看看会发生什么。

package stringbuffer;

public class Demo1_StringBuffer {

   publicstaticvoid main(String[] args) {
     StringBuffer sb = new StringBuffer();
     StringBuffer sb2 = sb.append(true);
     StringBuffer sb3 = sb.append("Anthony");
     StringBuffer sb4 = sb.append(100);
     
     System.out.println(sb);
     System.out.println(sb2);
     System.out.println(sb3);
     System.out.println(sb4);
   }
}

输出结果:

trueAnthony100

trueAnthony100

trueAnthony100

trueAnthony100

       这个输出都是一样,我们就好奇了。原来上面四个StringBuffer对象都指向了同一个地址。所以,我们可以得出这么一个结论:StringBuffer是字符串缓冲区,当使用new的时候会在堆内存上新建一个对象,底层是一个长度为16的字符数组,当调用添加方法时,不会再重新创建对象,而是在不断往原来的字符串缓冲区添加字符。

 

2.StringBuffer insert()

       往字符串缓存区域插入数据方法insert()也有很多重载方法,这里拿在指定索引位置插入字符串来举例

 

public class Demo1_StringBuffer {

   public static void main(String[] args) {

     StringBuffer sb = new StringBuffer("Anthony");
     sb.insert(3,"123");
     System.out.println(sb.toString());
   }
}

输出:

Ant123hony

 

3.StringBuffer的删除功能

       关于删除操作有两个方法,delectCharAt(index inx) 和delete(int start,int end),第一个是根据索引删除对应字符,第二个是根据索引范围删除字符。

 

package string;

public class Dem04_String {
   public static void main(String[] args) {
      StringBuffersb = new StringBuffer();
      sb.append("Anthony learn java");
      System.out.println(sb.deleteCharAt(3)); // 删除索引为3上的字符
      System.out.println(sb);
      System.out.println(sb.delete(4,8)); //注意这里不包含索引8
   }
}

输出结果:

Antony learn java

Antony learn java

Antoearn java

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值