logo

Java での文字列の連結

Java では、文字列の連結により、複数の文字列を組み合わせた新しい文字列が形成されます。 Java で文字列を連結するには 2 つの方法があります。

  1. + (文字列連結) 演算子による
  2. concat() メソッドによる

1) +(文字列連結)演算子による文字列連結

Java 文字列連結演算子 (+) は、文字列を追加するために使用されます。例えば:

TestStringConcatenation1.java

 class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } } 
今すぐテストしてください

出力:

 Sachin Tendulkar 

Java コンパイラの変換 上のコードをこれにします:

シングルトンデザイン
 String s=(new StringBuilder()).append('Sachin').append(' Tendulkar).toString(); 

Java では、文字列の連結は StringBuilder (または StringBuffer) クラスとその append メソッドを通じて実装されます。文字列連結演算子は、2 番目のオペランドを最初のオペランドの末尾に追加することにより、新しい文字列を生成します。文字列連結演算子は文字列だけでなくプリミティブ値も連結できます。例えば:

TestStringConcatenation2.java

Javaのif elseループ
 class TestStringConcatenation2{ public static void main(String args[]){ String s=50+30+'Sachin'+40+40; System.out.println(s);//80Sachin4040 } } 
今すぐテストしてください

出力:

 80Sachin4040 

注: 文字列リテラルの後のすべての + は文字列連結演算子として扱われます。

2) concat()メソッドによる文字列連結

String concat() メソッドは、指定された文字列を現在の文字列の末尾に連結します。構文:

 public String concat(String another) 

String concat() メソッドの例を見てみましょう。

TestStringConcatenation3.java

 class TestStringConcatenation3{ public static void main(String args[]){ String s1='Sachin '; String s2='Tendulkar'; String s3=s1.concat(s2); System.out.println(s3);//Sachin Tendulkar } } 
今すぐテストしてください

出力:

 Sachin Tendulkar 

上記の Java プログラムは、2 つの String オブジェクトを連結します。 s1 そして s2 を使用して concat() メソッドを作成し、結果を s3 物体。

Java で文字列を連結する方法は他にもいくつかあります。

1. StringBuilderクラスを使用した文字列連結

StringBuilder は、連結操作を実行するための append() メソッドを提供するクラスです。 append() メソッドは、Objects、StringBuilder、int、char、CharSequence、boolean、float、double などのさまざまな型の引数を受け入れます。 StringBuilder は、Java で文字列を連結するための最も一般的で高速な方法です。これは可変クラスであり、StringBuilder オブジェクトに格納されている値を更新または変更できることを意味します。

StrBuilder.java

エース対デス
 public class StrBuilder { /* Driver Code */ public static void main(String args[]) { StringBuilder s1 = new StringBuilder('Hello'); //String 1 StringBuilder s2 = new StringBuilder(' World'); //String 2 StringBuilder s = s1.append(s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

出力:

 Hello World 

上記のコード スニペットでは、 s1、s2 そして s のオブジェクトとして宣言されます 文字列ビルダー クラス。 s を連結した結果を格納します s1 そして s2 を使用して 追加する () 方法。

2. format() メソッドを使用した文字列の連結

String.format() メソッドを使用すると、%s のような形式指定子とそれに続く文字列値またはオブジェクトを使用して、複数の文字列を連結できます。

StrFormat.java

 public class StrFormat { /* Driver Code */ public static void main(String args[]) { String s1 = new String('Hello'); //String 1 String s2 = new String(' World'); //String 2 String s = String.format('%s%s',s1,s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

出力:

 Hello World 

ここで、String オブジェクト s 文字列の連結結果が割り当てられます s1 そして s2 を使用して 文字列.format() 方法。 format() は、文字列オブジェクトまたは値が後に続くフォーマット指定子としてパラメータを受け入れます。

3. String.join() メソッドを使用した文字列の連結 (Java バージョン 8 以降)

String.join() メソッドは、Java バージョン 8 および上記のすべてのバージョンで使用できます。 String.join() メソッドは、最初にセパレータと String オブジェクトの配列を引数として受け取ります。

Java抽象クラス

StrJoin.java:

 public class StrJoin { /* Driver Code */ public static void main(String args[]) { String s1 = new String('Hello'); //String 1 String s2 = new String(' World'); //String 2 String s = String.join('',s1,s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } } 

出力:

 Hello World 

上記のコード スニペットでは、String オブジェクト s の結果を保存します String.join('',s1,s2) 方法。区切り文字は引用符内で指定され、その後に String オブジェクトまたは String オブジェクトの配列が続きます。

4. StringJoiner クラスを使用した文字列連結 (Java バージョン 8 以降)

StringJoiner クラスには、String.join() メソッドのすべての機能があります。事前に、そのコンストラクターはオプションの引数、プレフィックスおよびサフィックスを受け入れることもできます。

StrJoiner.java

 public class StrJoiner { /* Driver Code */ public static void main(String args[]) { StringJoiner s = new StringJoiner(', '); //StringeJoiner object s.add('Hello'); //String 1 s.add('World'); //String 2 System.out.println(s.toString()); //Displays result } } 

出力:

 Hello, World 

上記のコード スニペットでは、StringJoiner オブジェクト s が宣言されており、コンストラクター StringJoiner() は区切り値を受け入れます。区切り文字は引用符で囲んで指定します。 add() メソッドは、引数として渡された文字列を追加します。

モニターとは何ですか

5. Collectors.joining() メソッドを使用した文字列連結 (Java (Java バージョン 8 以降))

Java 8 の Collectors クラスは、入力要素を出現と同様の順序で連結する join() メソッドを提供します。

ColJoining.java

 import java.util.*; import java.util.stream.Collectors; public class ColJoining { /* Driver Code */ public static void main(String args[]) { List liststr = Arrays.asList('abc', 'pqr', 'xyz'); //List of String array String str = liststr.stream().collect(Collectors.joining(', ')); //performs joining operation System.out.println(str.toString()); //Displays result } } 

出力:

 abc, pqr, xyz 

ここではString配列のリストを宣言しています。そしてStringオブジェクト str の結果を保存します Collectors.joining() 方法。