JavaのStringBufferクラス

WBOY
WBOYオリジナル
2024-08-30 15:42:11834ブラウズ

ご存知のとおり、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:

JavaのStringBufferクラス

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:

JavaのStringBufferクラス

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:settimeout Java次の記事:settimeout Java