Java の可変文字列

WBOY
リリース: 2024-08-30 15:41:02
オリジナル
748 人が閲覧しました

可変文字列を使用すると、新しいオブジェクトを作成せずに、既存のオブジェクトの内容を変更できます。したがって、可変文字列とは、新しいオブジェクトを作成せずに内容を変更できる文字列のことです。 StringBuffer と StringBuilder は Java の String の変更可能なバージョンですが、Java String クラスは不変です。不変オブジェクトとは、一度作成すると内容を変更できないオブジェクトです。不変オブジェクトのコンテンツが変更されるたびに、新しいオブジェクトが作成されます。

広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト

Java で可変文字列を使用するには?

すでに説明したように、Java の可変文字列は StringBuffer クラスと StringBuilder クラスを使用して作成できます。 2 つの主な違いは、StringBuffer はスレッドセーフな実装であるのに対し、StringBuilder はスレッドセーフではないことです。高いパフォーマンスと高いセキュリティが必要な場合は、String クラスの変更可能なバージョンを選択する必要があります。 String プールがあるため、String クラスにはセキュリティ上の問題があります。したがって、データのセキュリティが必要な場合は常に StringBuffer と StringBuilder が使用されます。 StringBuffer はスレッド セーフであるため、パフォーマンスの点では StringBuffer よりも優れていますが、スレッド セーフが必要な場合は常に StringBuffer を使用する必要があります。

StringBuilder クラスと StringBuffer クラスのコンストラクター

以下は、文字列ビルダー クラスと文字列バッファー クラスの主なコンストラクターです。

1. 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
ログイン後にコピー

2. StringBuilder コンストラクター

以下は String ビルダー コンストラクターです:

  • StringBuilder(): これにより、デフォルトの容量が 16 文字の空の StringBuilder が作成されます。
  • StringBuilder(int Capacity): これにより、指定された容量を持つ空の StringBuilder が作成されます。
  • StringBuilder(CharSequence charseq): これにより、指定された文字シーケンスと同じ文字を含む StringBuilder が作成されます。
  • StringBuilder(String str): 指定された String に対応する StringBuilder を作成します。

これは 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.
メソッド名 説明 長さ() と容量() 変更可能な文字列の長さは length() メソッドを使用して計算でき、対応する容量は Capacity() を使用して計算できます。 append(String str) 追加(整数) このメソッドは、既存の変更可能な文字列の末尾に新しいテキストを追加するために使用されます。 挿入(int インデックス, 文字列 str) 挿入(int インデックス, char ch) 指定された文字列内の指定された位置にテキストを挿入するために使用されます。指定された構文では、インデックスは文字列が挿入される開始インデックスを指定します。 reverse() 指定された文字列内の文字の順序を逆にするために使用されます。 delete(int start, int end) および deleteCharAt(int index) 可変文字列から文字を削除するために使用されます。 Start は削除される最初の文字の開始インデックスを示し、end インデックスは削除される最後の文字の 1 つ後のインデックスを示します。 replace(int startindex, int endindex, String str) startindex と endindex-1 の間の文字シーケンスを指定された文字列に置き換えるのに使用されます。 テーブル>

The above-listed methods are commonly used methods of StringBuffer and StringBuilder classes.

Examples of Mutable String in Java

Examples of mutable string in java are given below:

Example #1

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:

Java の可変文字列

Example #2

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:

Java の可変文字列

In the above example, we have seen how to createStringBuilder class and usage of its methods.

以上がJava の可変文字列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート