可変文字列を使用すると、新しいオブジェクトを作成せずに、既存のオブジェクトの内容を変更できます。したがって、可変文字列とは、新しいオブジェクトを作成せずに内容を変更できる文字列のことです。 StringBuffer と StringBuilder は Java の String の変更可能なバージョンですが、Java String クラスは不変です。不変オブジェクトとは、一度作成すると内容を変更できないオブジェクトです。不変オブジェクトのコンテンツが変更されるたびに、新しいオブジェクトが作成されます。
広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テストすでに説明したように、Java の可変文字列は StringBuffer クラスと StringBuilder クラスを使用して作成できます。 2 つの主な違いは、StringBuffer はスレッドセーフな実装であるのに対し、StringBuilder はスレッドセーフではないことです。高いパフォーマンスと高いセキュリティが必要な場合は、String クラスの変更可能なバージョンを選択する必要があります。 String プールがあるため、String クラスにはセキュリティ上の問題があります。したがって、データのセキュリティが必要な場合は常に StringBuffer と StringBuilder が使用されます。 StringBuffer はスレッド セーフであるため、パフォーマンスの点では StringBuffer よりも優れていますが、スレッド セーフが必要な場合は常に StringBuffer を使用する必要があります。
以下は、文字列ビルダー クラスと文字列バッファー クラスの主なコンストラクターです。
以下は文字列バッファー コンストラクターです:
StringBuffer クラスの宣言は次のとおりです。
public final class StringBuffer extends Object implements Serializable,CharacterSequence
以下は String ビルダー コンストラクターです:
これは StringBuilder クラスの宣言です:
public final class StringBuilder extends Object implements Serializable,CharacterSequence
次に、StringBuffer クラスと StringBuilder クラスで使用できるさまざまなメソッドとフィールドを見ていきます。以下は、これらで利用可能な一般的に使用されるメソッドのリストです:
文字列可変クラスのメソッドを以下に示します:
Method Name | Description |
length() and capacity() | The length of a mutable string can be calculated using the length() method, and corresponding capacity can be calculated using capacity(). |
append(String str)
append(int number) |
This method is used for adding new text at the end of an existing mutable string. |
insert(int index, String str)
insert(int index, char ch) |
Used for inserting text at a specified position in a given string. In the given syntax index specifies the starting index of at which the string will be inserted. |
reverse() | Used for reversing the order of character in a given string. |
delete(int start, int end) and deleteCharAt(int index) | Used for deleting characters from a mutable string. Start indicates the starting index of the first character to be removed, and the end index indicates an index of one past the last character to be removed. |
replace(int startindex, int endindex, String str) | Used for replacing character sequence between startindex and endindex-1 with the specified string. |
The above-listed methods are commonly used methods of StringBuffer and StringBuilder classes.
Examples of mutable string in java are given below:
Let us see a basic example of a StringBuffer class.
Code:
package com.edubca.mutablestringdemo; public class MutableStringDemo{ 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 how to use StringBuilder in java.
Code:
package com.edubca.mutablestringdemo; public class MutableStringDemo{ public static void main(String args[]){ StringBuilder sBuilder=new StringBuilder("WelcomeToEdubca"); System.out.println("Original String is ::: " + sBuilder + ":: having length " + sBuilder.length()); //using replace method sBuilder.replace(0,9,"This is "); System.out.println("Modified String after replace is :: " + sBuilder + " :: having length " + sBuilder.length()); //using delete method sBuilder.delete(0,7); System.out.println("Modified String after delete is :: " + sBuilder); } }
Output:
In the above example, we have seen how to createStringBuilder class and usage of its methods.
以上がJava の可変文字列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。