字串緩衝區(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
  • 閱讀 ( 12 )
  • 分類:科技

你可能感興趣的文章

字串緩衝區(string stringbuffer)和java中的stringbuilder(stringbuilder in java)的區別

關鍵區別–java中的string與stringbuffer與stringbuilder String、StringBuffer和stringbuilder是Java中的類。字串在Java程式設計中被廣泛使用。一旦建立了字串物件,就不可能更改它們。每次字串發生更改時,它都會建立一個新字串。即使是...

  • 發佈於 2020-10-02 19:22
  • 閲讀 ( 47 )

緩衝作用(buffer action)和緩衝容量(buffer capacity)的區別

緩衝作用和緩衝容量的關鍵區別在於,緩衝作用是指溶液抵抗pH值變化的能力,而緩衝容量是指改變溶液pH值所需的酸或鹼摩爾數。 緩衝溶液是由弱酸及其共軛鹼組成的水溶液。術語buffer action和buffer capacity描述了可以充當緩...

  • 發佈於 2020-10-05 02:46
  • 閲讀 ( 56 )

自上而下(top down)和自下而上分析(bottom up parsing)的區別

...p解析的關鍵區別在於,top-down解析執行從起始符號到輸入字串的解析,而bottom-down解析執行從輸入字串到起始符號的解析。此外,自頂向下和自底向上解析的另一個重要區別是,自頂向下的解析使用最左邊的派生,而自下而上的...

  • 發佈於 2020-10-18 09:45
  • 閲讀 ( 56 )

值型別(value type)和參考型別(reference type)的區別

...發出執行任務的指令。該程式可以操作包含數字、字元和字串的資料,並向用戶生成資訊。用特定程式語言編寫的一系列指令就是一個程式。在C#等程式語言中,有標記。它們是關鍵字、識別符號、文字和運算子。儲存資料的保...

  • 發佈於 2020-10-19 07:42
  • 閲讀 ( 58 )

perl公司(perl)和python(python)的區別

...Perl支援不同的資料型別。標量變數以$開頭。它可以儲存字串、整數或引用。陣列變數以@開頭。它用於儲存標量的有序列表。雜湊變數以%開頭。它用於儲存鍵、值對。 Perl與web相關的技術如超文字標記語言(HTML)、XML等一起使...

  • 發佈於 2020-10-19 17:38
  • 閲讀 ( 43 )

掃描(scanf)和得到(gets)的區別

...檔案結束(EOF)時結束接收輸入,而gets將空白視為輸入字串的一部分,並在遇到newline或EOF時結束輸入。 目錄 1. 概述和主要區別 2. 什麼是scanf 3. 什麼是得到 4. scanf和gets之間的相似性 5. 並排比較-scanf和gets以表格形式顯示 6. 摘要...

  • 發佈於 2020-10-19 23:18
  • 閲讀 ( 49 )

蟒蛇2(python 2)和三(3)的區別

...讀取。 Next()函式 在Python2中,generator next()獲取生成器的下一個值。 在python3中,它被寫成next(generator)。 第三方模組支援 由於python2存在的時間更長,因此它有更多的第三方模組支援。一些框架仍在使用python2。 pytho...

  • 發佈於 2020-10-20 01:55
  • 閲讀 ( 54 )

印刷品(printf)和格式化輸出(fprintf)的區別

...t和fprintf的關鍵區別在於printf是一個C函式,用於將格式化字串列印到標準輸出流(即計算機螢幕),而fprintf是一個C函式,用於將格式化字串列印到檔案中。 目錄 1. 概述和主要區別 2. 什麼是printf 3. 什麼是fprintf 4. printf和fprintf之...

  • 發佈於 2020-10-24 04:40
  • 閲讀 ( 52 )

燒焦(char)和瓦查爾(varchar)的區別

...字元資料型別用於儲存大量資訊。字元資料型別用於儲存字串中的字元或字母數字資料。資料庫字符集的型別是在建立資料庫時定義的。同樣,在這些字元資料型別中,Char和Varchar是最常用的。本文將解釋這兩種資料型別char和var...

  • 發佈於 2020-10-24 09:19
  • 閲讀 ( 37 )

瓦查爾(varchar)和女巫(nvarchar)的區別

...的資料型別。在這些資料型別中,varchar和nvarchar用於儲存字串字元。Varchar和Nvarchar似乎可以互換。但這兩種型別有著不同的優點,它們的用途也不同。 什麼是瓦查爾(varchar)? 顧名思義,varchar是一個可變字元或可變字元。varchar...

  • 發佈於 2020-11-03 03:12
  • 閲讀 ( 50 )