【Java入門】Stringの結合方法まとめ

JavaのStringを扱う上で、文字列同士を結合することがあります。

文字列を結合する方法を知りたい
文字列がnullの場合の対処法を知りたい
文字列をカンマ区切りで結合する方法を知りたい
文字列を結合するメソッドの速度が知りたい

今回は、そんな悩みを解決するために、文字列を結合するための方法をわかりやすく解説します!

Stringの結合方法

ここでは、Stringの文字列を結合する方法を紹介します。

concatを使用する

文字列を結合するオーソドックスな方法として、Stringクラスのconcatメソッドを使用する方法があります。

以下にconcatメソッドを使用した文字列の結合方法を記述します。

実行結果

サンプルでは2つのString型に文字列を設定し、変数str1に対してconcatメソッドで引数に変数str2を指定しています。

concatについては、以下の記事で詳しく解説しています!

StringBufferのappendを使用する

StringBufferクラスのappendメソッドを使用することでも、文字列を結合することが可能です。

以下にStringBufferクラスのappendメソッドを使用した結合方法を記述します。

実行結果

サンプルでは2つのString型に文字列を設定し、StringBufferクラスを宣言して、変数bfに対してappendメソッドを使用して文字列を結合しています。

StringBufferについては、以下の記事で詳しく解説しています!

StringBuilderのappendを使用する

StringBuilderクラスのappendメソッドを使用することでも文字列を結合することが可能です。

以下にStringBuilderクラスのappendメソッドを使用した結合方法を記述します。

実行結果

サンプルでは2つのString型に文字列を設定し、StringBuilderクラスを宣言して、変数sbに対してappendメソッドを使用して文字列を結合しています。

StringBufferについては、以下の記事で詳しく解説しています!

結合する文字列がnullの場合

文字列を結合するときの注意点として、結合する文字列がnullだった場合、例外が投げられてしまいます。

以下の処理では、結合対象の文字列がnullで設定されているため、”java.lang.NullPointerException”の例外が発生します。

そのため、例外を回避するにはStringUtilsクラスのisEmptyメソッドを使用します。
isEmptyメソッドについては、以下の記事で詳しく解説しています。

文字列をカンマ区切りで結合する

文字列を結合してCSVファイルなどに出力するときに、文字列の間に’,’(カンマ)を挿入したい場合があります。

カンマ区切りで文字列を結合する方法を、以下に記述します。

実行結果

サンプルではString型の配列に文字列を設定し、String型でカンマを設定しています。

次にStringBuilderクラスを宣言し、拡張for文の中で配列の要素ごとにappendメソッドを使用して、カンマと文字列を交互に結合しています。

速度面での比較

文字列を結合する基本的な方法を3通り説明しましたが、実際の処理パフォーマンスはどうなのでしょうか?

ここでは、紹介したStringクラスのconcatとStringBufferクラスのappend、StringBuilderクラスのappendの速度を、それぞれナノ秒単位で比較してみました。

実行結果

サンプルでは、ループの中でそれぞれ100回ずつ文字列を結合しています。

実行結果を確認する限りでは、StringBuilderクラスのappendが一番早いことがわかります。

次いでStringBufferクラスappend、一番遅いのがStringクラスのconcatとなりました。

Stringについてもっと詳しく知りたい方へ

Stringのさまざまな使い方については、以下の記事にまとめていますので、ぜひ参考にしてくださいね!

まとめ

ここでは、さまざまな文字列の結合方法や注意点、カンマ区切りでの結合方法や、それぞれの結合処理の速度比較などを行いました。

文字列を結合する処理は、さまざまな場面で使用することがあります。

もし、文字列を結合する方法を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説