龙空技术网

Java StringBuffer类有哪些方法?叩丁狼分享

就是小可爱啊 47

前言:

而今我们对“javastringbuffer替换字符串”大约比较关怀,朋友们都想要学习一些“javastringbuffer替换字符串”的相关内容。那么小编同时在网摘上搜集了一些对于“javastringbuffer替换字符串””的相关资讯,希望大家能喜欢,朋友们一起来了解一下吧!

  java StringBuffer类有哪些方法?[java培训]

  更新时间:2020年01月08日16时37分 来源:叩丁狼学院 浏览次数:

  由于字符串是常量,因此一旦创建,其内容和长度是不可改变的。如果需要对一个字符串进行修改,则只能创建新的字符串。为了便于对字符串的修改,在JDK中提供了个StringBuffer类(也称字符串缓冲区)。StringBuffer类和String类最大的区别在于它的内容和长度都是可以改变的。StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。针对添加和删除字符的操作,StringBuffer类提供了一系列的方法。

  上面表中列出了StringBuffer的一系列常用方法,接下来通过一个案例来学习一下表中方法的具体使用。

  public class stringbuffer01{

  public static void main(String[] args) {

  System.out.println( 1、添加----------

  add();

  System.out.println( 2、删除----------

  remove();

  System.out.println( 3、修改---------

  alter();

  }

  public static void add(){

  StringBuffer sb=new StringBuffer(); //定义一个字符缓冲区

  sb.append( abcdefg

  System.out.println( append添加结果: +sb);

  sb.insert(2, 123 //在指定位置插入字符串

  System.out.println( insert添加结果: +sb);

  }

  public static void remove() {

  StringBuffer sb=new StringBuffer( abcdefg

  sb.delete(1,5); //指定范围删除

  System.out.println( 删除指定位置的结果: +sb);

  sb.deleteCharAt(2); //指定位置删除

  System.out.println( 指定删除位置结果: +sb);

  sb.delete(0,sb.length()); //清除缓冲区

  System.out.println( 清空缓冲区结果: +sb);

  }

  public static void alter() {

  StringBuffer sb=new StringBuffer( abcdef

  sb.setCharAt(1, p //修改指定未知字符

  System.out.println( 修改指定位置字符结果: +sb);

  sb.replace(1, 3, qq

  System.out.println( 替换指定未知字符(串)结果: +sb);

  System.out.println( 字符串反转结果: +sb.reverse());

  }

  }

  运行结果如下图:

  上面案例中涉及到StringBuffer类的很多方法,其中append()和insert(方法是最常用的,并且这两个方法有很多重载形式,它们都用于添加字符。不同的是,append()方法始终将这些字符添加到缓冲区的末尾,而insert()方法则可以在指定的位置添加字符另外,例程中的delete()方法用于删除指定位置的字符,setCharAt()和replace()方法用于替换指定位置的字符,这几个方法都非常简单,在此就不再赘述了。

  StringBuffer类和String类有很多相似之处,初学者在使用时很容易混淆。接下来针对这两个类进行对比,简单归纳一下两者的不同,具体如下:

  1、String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而StringBuffer表示字符容器,其内容和长度都可以随时修改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用 String类即可,但是如果需要对字符串中的字符进行增删操作,则使用 StringBuffer类。

  2、String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法,具体示例如下

  String s1=new String( abc

  String s2=new String( abd

  System.out.println(s1.equals(s2)); //打印结果为true

  StringBuffer sb1=new StingBuffer( abc

  StringBuffer sb2=new StringBuffer( abc

  System.out.println(sb1.equeals(sb2)); //打印结果为false

  String类对象可以用操作符+进行连接,而 String Buffer类对象之间不能,具体例如下:

  String s1= a

  String s2= b

  String s3=s1+s2; //合法

  System.out.println(s3); //打印输出ab

  StringBuffer sb1=new StringBuffer( a

  StringBuffer sb2=new StringBuffer( b

  StringBuffer sb3=sb1+sb2; //编译出错

标签: #javastringbuffer替换字符串