ご存知のとおり、Java オブジェクトには基本的に変更可能と不変の 2 種類があります。不変オブジェクトとは、一度作成すると内容を変更できないオブジェクトです。不変オブジェクトの内容が変更されるたびに、新しいオブジェクトが作成されます。可変オブジェクトの場合、既存のオブジェクトの内容を変更しても、新しいオブジェクトは作成されません。したがって、可変文字列とは、新しいオブジェクトを作成せずに内容を変更できる文字列です。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
StringBuffer と StringBuilder は Java の String の変更可能なバージョンですが、Java String クラスは不変です。したがって、StringBuffer は、String オブジェクトに変更可能性を提供するために使用される変更可能な String です。 String クラスには固定長で不変の文字シーケンスが含まれますが、文字列バッファーには拡張可能な長さと書き込み可能な文字シーケンスが含まれます。
Java で文字列バッファ クラスを使用する方法?
ここでは、Java で StringBuffer を使用する方法を示すいくつかのポイントを示します。
- すでに説明したように、Java の可変文字列は StringBuffer クラスと StringBuilder クラスを使用して作成できます。
- この 2 つの主な違いは、StringBuffer はスレッドセーフな実装であるのに対し、StringBuilder はスレッドセーフではないということです。
- 高いパフォーマンスと高いセキュリティが必要な場合は、String クラスの可変バージョンを優先する必要があります。
- String プールのため、String クラスにはセキュリティ上の問題があります。したがって、データのセキュリティが必要な場合は常に StringBuffer が使用されます。
- StringBuffer はスレッド セーフであるため、パフォーマンスの点では StringBuffer よりも優れていますが、スレッド セーフが必要な場合は常に StringBuffer を使用する必要があります。
StringBuffer コンストラクター
以下は文字列バッファー コンストラクターです:
- StringBuffer(): これにより、デフォルトの容量が 16 文字の空の StringBuffer が作成されます。
- StringBuffer(int Capacity): これは、指定された容量を持つ空の StringBuffer を作成します。
- StringBuffer(CharSequence charseq): 指定された文字シーケンスと同じ文字を含む StringBuffer を作成します。
- StringBuffer(String str): 指定された String に対応する StringBuffer を作成します。
StringBuffer クラスの宣言は次のとおりです。
public final class StringBuffer extends Object implements Serializable,CharacterSequence,Appendable
Java の StringBuffer クラスのメソッド
次に、StringBuffer で使用できるさまざまなメソッドとフィールドが何であるかを見ていきます。以下は、StringBuffer クラスで使用できる一般的に使用されるメソッドのリストです:
メソッド名 | 説明 |
長さ()と容量() | 可変文字列の長さは length() メソッドを使用して計算でき、対応する容量は Capacity() を使用して計算できます。 |
append(String str)
追加(整数) |
このメソッドは、既存の文字列バッファーの末尾に新しいテキストを追加するために使用されます。 |
挿入(int インデックス, 文字列 str)
挿入(int インデックス, char ch) |
指定された文字列内の指定された位置にテキストを挿入するために使用されます。指定された構文では、インデックスは文字列が挿入される開始インデックスを指定します。 |
リバース() | 指定された文字列バッファ オブジェクト内の文字の順序を逆にするために使用されます。 |
delete(int start, int end) および deleteCharAt(int index) | 文字列バッファから文字を削除するために使用されます。 Start は削除される最初の文字の開始インデックスを示し、end は削除される最後の文字の 1 つ後のインデックスを示します。 |
replace(int startindex, int endindex, String str) | startindex と endindex-1 の間の文字シーケンスを指定された文字列バッファーに置き換えるのに使用されます。 |
charAt(int インデックス) | 文字列バッファ内の指定されたインデックスにある文字を返すために使用されます。 |
codePointAt(int インデックス) | 指定されたインデックスにある文字の Unicode を返すために使用されます。 |
codePointBefore(int インデックス) | 指定されたインデックスの前の文字の Unicode を返すために使用されます。 |
部分文字列(int start)
substring(int start, int end) |
Used to return a new String that contains a subsequence of characters contained in a given string. |
ensureCapacity(int capacity) | Used for increasing the capacity of an existing string buffer object. |
toString() | Used to convert mutable string buffer to an immutable string object. |
Examples of StringBuffer Class in Java
Here are some of the examples of StringBuffer class which are given below:
Example #1
Let us see a basic example of the StringBuffer class.
Code:
public class StringBufferDemo{ public static void main(String args[]){ StringBuffer sBuffer1=new StringBuffer("Welcome"); System.out.println("Original String is ::: " + sBuffer1 + ":: having length " + sBuffer1.length()); //using append method sBuffer1.append(" To Edubca"); System.out.println("Modified String after append is :: " + sBuffer1 + " :: having length " + sBuffer1.length()); //using reverse method sBuffer1.reverse(); System.out.println("Modified String after Reverse is :: " + sBuffer1); } }
The above code shows the creation of java StringBuffer and its different methods. The following output will be produced.
Output:
Example #2
In this example, we will see some more methods of the StringBuffer class.
Code:
public class StringBufferDemo{ public static void main(String args[]){ StringBuffer sBuffer=new StringBuffer ("WelcomeToEdubca"); System.out.println("Original String is ::: " + sBuffer + ":: having length " + sBuffer.length()); //using replace method sBuffer.replace(0,9,"This is "); System.out.println("Modified String after replace is :: " + sBuffer + " :: having length " + sBuffer.length()); //using delete method sBuffer.delete(0,7); System.out.println("Modified String after delete is :: " + sBuffer); } }
The above code will display the following as output.
Output:
In the above example, we have seen how to create a StringBuffer class and usage of its methods.
Conclusion
From the above discussion, we have a clear understanding of StringBuffer in java, how it is created, and the different methods available in the StringBuffer class. Also, StringBuffer is thread-safe; therefore, it can be used in a multithreading environment.
以上がJavaのStringBufferクラスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

メモ帳++7.3.1
使いやすく無料のコードエディター
