字符串缓冲区(stringbuffer)和字符串生成器(stringbuilder)的区别

Java是一种非常流行的面向对象语言。在Java中,提供String类来保存不能修改的字符序列(一旦初始化)。或者,Java编程语言提供两种类型的可变字符序列。也就是说,当程序员需要修改某个字符串(在初始化之后),他们需要使用StringBuffer类或StringBuilder类,而不是String类。StringBuffer是在JDK1.0中引入的,StringBuilder类是在JDK1.5...

StringBuffer与StringBuilder

Java是一种非常流行的面向对象语言。在Java中,提供String类来保存不能修改的字符序列(一旦初始化)。或者,Java编程语言提供两种类型的可变字符序列。也就是说,当程序员需要修改某个字符串(在初始化之后),他们需要使用StringBuffer类或StringBuilder类,而不是String类。StringBuffer是在JDK1.0中引入的,StringBuilder类是在JDK1.5中引入的,实际上是作为StringBuffer类(用于单线程环境)的替代品。

什么是StringBuffer?

StringBuffer类是在JDK1.0中引入的。StringBuffer类属于java.lang语言包并从泛型继承java.lang.object. 程序员不能进一步扩展它,因为它是一个final类。StringBuffer类实现可序列化、可附加和CharSequience接口。StringBuffer类的对象可以保存可变且线程安全的字符序列。这意味着,它非常类似于String对象,但是在初始化StringBuffer对象之后,字符序列(长度和内容)可以随时更改。但是,这应该使用StringBuffer类提供的特定方法来完成。StringBuffer类中有两个主要操作。它们由append()和insert()方法提供。这些方法重载,因此它们能够接受任何类型的数据,如integer和long。这两种方法首先将任何输入转换为字符串,然后将相应字符串的字符添加(追加或**)到现有的Stribbuffer对象。append()方法将转换后的字符串添加到现有StringBuffer对象的末尾,而insert()方法将向指定的**点添加输入字符。

什么是StringBuilder?

StringBuilder类是在JDK1.5中引入的。StringBuilderAPI非常类似于StringBufferAPI。实际上,StringBuilder类实际上是作为StringBuffer类的替代品引入的(对于单线程应用程序)。StringBuilder类属于java.lang语言包并从泛型继承java.lang.object. 它是一个final类,因此程序员不能扩展它。StringBuilder类实现可序列化、可附加和CharSequience接口。StringBuilder类的对象可以包含可变但不是线程安全的字符序列。这意味着,它非常类似于String对象,但是字符串可以随时更改。但StringBuilder类不提供同步,因此据称比使用StringBuffer类更快。StringBuilder类提供的append()和insert()方法具有与StringBuffer类中完全相同的功能。

StringBuffer和StringBuilder有什么区别?

  • 发表于 2020-11-05 18:09
  • 阅读 ( 123 )
  • 分类:IT

你可能感兴趣的文章

字符串缓冲区(string stringbuffer)和java中的stringbuilder(stringbuilder in java)的区别

关键区别–java中的string与stringbuffer与stringbuilder String、StringBuffer和stringbuilder是Java中的类。字符串在Java编程中被广泛使用。一旦创建了字符串对象,就不可能更改它们。每次字符串发生更改时,它都会创建一个新字符串。即...

  • 发布于 2020-10-02 19:22
  • 阅读 ( 314 )

自上而下(top down)和自下而上分析(bottom up parsing)的区别

...p解析的关键区别在于,top-down解析执行从起始符号到输入字符串的解析,而bottom-down解析执行从输入字符串到起始符号的解析。此外,自顶向下和自底向上解析的另一个重要区别是,自顶向下的解析使用最左边的派生,而自下而...

  • 发布于 2020-10-18 09:45
  • 阅读 ( 713 )

蟒蛇2(python 2)和三(3)的区别

...浮点数的答案。7/2等于3.5。 Unicode支持 要使python2中的字符串为Unicode,应使用字符“u”。e、 g.u“你好” 在Python3中,字符串默认为Unicode。 Raw_Input()函数 在Python2中,raw_input()函数用于从用户获取输入。此函数用于读...

  • 发布于 2020-10-20 01:55
  • 阅读 ( 349 )

c编程的特点,使其独特(和更好)

... 没有显式字符串类型 ...

  • 发布于 2021-03-13 04:35
  • 阅读 ( 215 )

java异常:您处理的对吗?

... StringBuilder **uf = new StringBuilder("Stack Trace: ");for (StackTraceElement el : ex.getStackTrace()) { **uf.append(el.getClassName() + "." + el.getMethodName()).append("");}log.warning(**uf.toString()); ...

  • 发布于 2021-03-13 09:11
  • 阅读 ( 260 )

强随机密码的5个最佳在线密码生成器

... 其中,ASCII字符串密码是最安全的。字符组合的随机性使得任何人都很难破解这种类型的组合,尤其是长度为63个字符的组合。 ...

  • 发布于 2021-03-20 00:00
  • 阅读 ( 911 )

如何在linux上使用dmesg命令

...索特定术语 通过grep将dmesg的输出管道化,以搜索特定的字符串或模式。在这里,我们使用-i(忽略大小写)选项,以便忽略匹配字符串的大小写。我们的结果将包括“u**”和“u**”以及任何其他小写和大写的组合。 sudo dmesg | grep...

  • 发布于 2021-04-02 21:09
  • 阅读 ( 226 )

沙(sha)和md5型(md5)的区别

...应用程序。它是一种加密哈希算法,可用于从任意长度的字符串创建128位字符串值。尽管存在安全漏洞,但它仍被广泛使用和部署,主要用于验证文件的完整性。MD5基于它的前身MD4算法。主要的算法本身是基于一个对块进行操作...

  • 发布于 2021-06-26 03:37
  • 阅读 ( 228 )

模棱两可的(ambiguous)和明确语法(unambiguous grammar)的区别

...上下文无关语法,其中存在一个可以有多个最左边派生的字符串,而无歧义语法是一种上下文无关语法,其中每个有效字符串都有一个唯一的最左边派生。 语法是指自然语言中的句法规则。1956年,计算机科学家提出了一种用于...

  • 发布于 2021-06-30 21:25
  • 阅读 ( 930 )

字节流(byte stream)和java中的字符流(character stream in java)的区别

...目标。 导入java.io.*; 公共课程{   public static void main(字符串args[])引发IOException{ FileInputStream in=null; FileOutputStream out=null;   试试看{ in=新文件inputstream(“input.txt”); out=new FileOutputStream(“output.txt”); 内景c; while((...

  • 发布于 2021-07-01 09:22
  • 阅读 ( 722 )
zqq977
zqq977

0 篇文章

相关推荐