首页 » Web前端 » phpstringbuffer技巧_Java StringBuffer类有哪些方法叩丁狼分享

phpstringbuffer技巧_Java StringBuffer类有哪些方法叩丁狼分享

访客 2024-11-20 0

扫一扫用手机浏览

文章目录 [+]

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

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

phpstringbuffer技巧_Java StringBuffer类有哪些方法叩丁狼分享

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

phpstringbuffer技巧_Java 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; //编译出错

相关文章

数字化转型浪潮下的IT产品销售新步骤

随着信息技术的飞速发展,全球范围内的数字化转型浪潮正席卷各行各业。在这一背景下,IT产品销售市场也呈现出前所未有的竞争态势。如何在...

Web前端 2024-12-27 阅读0 评论0

数字化转型浪潮下,IT推广小哥的崛起之路

随着互联网技术的飞速发展,数字化转型已成为各行各业的发展趋势。在这个背景下,IT推广小哥这个职业应运而生,他们肩负着为企业传播信息...

Web前端 2024-12-27 阅读0 评论0

新加坡,全球IT产业的璀璨明珠

新加坡,一个位于东南亚的热带岛国,凭借其优越的地理位置、稳定的政治环境、高效的管理体系和世界一流的国际化教育,成为了全球IT产业的...

Web前端 2024-12-27 阅读0 评论0

数字时代,IT行业的发展趋势与挑战

随着科技的飞速发展,数字时代已经到来。在这个时代,信息技术(IT)行业扮演着至关重要的角色。从互联网、大数据、人工智能到物联网,I...

Web前端 2024-12-27 阅读0 评论0