ご存知のとおり、Java オブジェクトには基本的に変更可能と不変の 2 種類があります。不変オブジェクトとは、一度作成すると内容を変更できないオブジェクトです。不変オブジェクトの内容が変更されるたびに、新しいオブジェクトが作成されます。可変オブジェクトの場合、既存のオブジェクトの内容を変更しても、新しいオブジェクトは作成されません。したがって、可変文字列とは、新しいオブジェクトを作成せずに内容を変更できる文字列です。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
StringBuffer と StringBuilder は Java の String の変更可能なバージョンですが、Java String クラスは不変です。したがって、StringBuffer は、String オブジェクトに変更可能性を提供するために使用される変更可能な String です。 String クラスには固定長で不変の文字シーケンスが含まれますが、文字列バッファーには拡張可能な長さと書き込み可能な文字シーケンスが含まれます。
ここでは、Java で StringBuffer を使用する方法を示すいくつかのポイントを示します。
以下は文字列バッファー コンストラクターです:
StringBuffer クラスの宣言は次のとおりです。
public final class StringBuffer extends Object implements Serializable,CharacterSequence,Appendable
次に、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. |
Here are some of the examples of StringBuffer class which are given below:
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:
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.
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 サイトの他の関連記事を参照してください。