Javaのconcatメソッドを使って文字列を連結する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaのconcatメソッドを使って文字列を連結する方法について解説しています。Stringクラスのconcatメソッドを使用することで、文字列同士を繋げることができます。concatメソッドの書き方、appendメソッドとの違いについて学びましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Javaのconcatメソッドを使って文字列を連結する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

concatメソッドを使って文字列を連結する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

concatメソッドとは

concatメソッドとは、Javaにおける文字列のための変数型であるString型で定義されたメソッドであり、文字列を結合したいときに使用します。

concatメソッドの他にも文字列を結合するメソッドがあるものの、インスタンスを新たに生成するのはconcatメソッドのみです。

 

concatメソッドの使い方

concatメソッドを使うには、元になる文字列を用意し、結合したい文字列を引数に渡して結合しましょう。

concatメソッドの記述の方法は、以下のような形となります。

元になる文字列.concat(結合したい文字列);

 

しかし、concatメソッドは元になる文字列自体を変更させるわけありません。

結合した文字列を変数として扱いたい場合には、下記のような形で使用する必要があります。

String 結合した文字列 = 元になる文字列.concat(結合したい文字列);

 

 

[PR] Javaプログラミングで挫折しない学習方法を動画で公開中

文字列を連結する方法

文字列を連結させるconcatメソッドの他にも、Javaには文字列を結合させる方法がいくつかあります。

 

1つは、+演算子を使う方法です。

+演算子で文字列を結合させる場合は、下記のように感覚的に操作できる点がメリットです。

String 結合した文字列 =結合したい文字列① + 結合したい文字列②

しかし、この方法での文字列の結合とconcatメソッドを使って文字列を結合では、オブジェクトの生成を多く行なう必要があるため、膨大な数の文字列を結合させると非常に時間が掛かるというデメリットがあります。

そのため、プログラムを簡潔に表す場合、+演算子やconcatメソッドではなく、appendメソッドを使う癖をつけておくのがオススメです。

 

上記でも触れた文字列を結合させるもう1つの方法として、appendメソッドがあります。

appendメソッドでは、StringBuilderクラスを使う方法とStringBufferクラスを使う方法の2通りがあり、使い方はあまり変わりません。

StringBuilderクラスのコード例は以下のよう表します。

StringBuilder 変数名 = new StringBuilder(結合したい文字列①);

変数名.append(結合したい文字列②);

String 結合した文字列 = 変数名.toString()

 

StringBuferクラスを使用する場合もほとんど同じで、オブジェクトの生成の部分だけを変えるだけです。

StringBuffer 変数名 = new StringBuffer(結合したい文字列①);

変数名.append(結合したい文字列②);

String 結合した文字列 = 変数名.toString()

 

 

concatメソッドとappendメソッドの違い

Javaには4つほど文字列を結合する方法があります。

その中でも似たような使い方をするconcatメソッドとappendメソッドの違いとして、concatメソッドでは、メソッドの返り値がString型であるため、文字列の結合をすると新しいオブジェクトを生成されます。

対して、appendメソッドでは、「文字列バッファ」という変数をつかうのでオブジェクトを生成しないという点です。

一般的にオブジェクトの生成は時間がかかるのため、appendメソッドを使う方が処理にかかる時間が短いといえるでしょう。

 

コラム

実は私も!?独学で損する人の特徴

「スクールは高いから独学で成功する」という気持ちの方は多いと思います。
もちろんその方が金額は低く抑えられるでしょう。
ただ 独学には向き不向きがあり、実はスクールが向いている人も大勢います。

そんな方のために参考として、 テックアカデミー卒業生がスクールを選んだ理由 をご紹介します。

  • ・困って挫折しそうなときに、質問や相談できる相手がいる環境で学んでいきたいなと思った
  • ・わかった気になっているだけだったので、自分を追い込む環境に置いた方がいいと感じた
  • ・スクールのカリキュラムで市場に求められるスキルを学ぶべきと思った

少しでも当てはまる部分があれば、 スクールが向いているかもしれません。
お試しのつもりで、まずは一度 無料体験 に参加してみませんか?

初心者でも最短1時間で学習が体験できるカリキュラム、現役エンジニアに何でも相談できるカウンセリング、無制限のチャット質問サービスすべて無料で体験 できます。
無理な勧誘は一切ない ので、お気軽にご参加ください。

今なら体験者限定の割引特典付き! 無料体験はこちら

実際に書いてみよう

concatメソッドとappendメソッドを使用したプログラムコードは下記のようになります。

class Sample{
        public static void main(String args[]){
               //Stringクラスのconcatメソッドを使う場合
               String str1 = "Hello";
               String str2 = str1.concat(" World!");
               System.out.println(str2);

               //StringBuilderクラスのappendメソッドを使う場合
               StringBuilder sb1 = new StringBuilder("Hello");
               sb.append(" World!!");
               String str3 = sb1.toString();
               System.out.println(str3);

               //StringBufferクラスのappendメソッドを使う場合
               StringBuffer sb2 = new StringBuffer("Hello");
               sb2.append(" World!!!");
               String str4 = sb2.toString();       
               System.out.println(str4);

         }
}

これを実行すると、

Hello World!
Hello World!!
Hello World!!!

と表示され、どの方法でも文字列の結合ができることが確認可能です。

 

以上、この記事では、Javaで文字列を結合するための方法について解説しました。

同じ結果となる場合でも違う方法で行えば、処理の速さが変わってくるといえるでしょう。

 

監修してくれたメンター

メンターOS

AIプログラミングを使って開発を行う。

プログラミング歴は約3年。

Pythonは割と好きな方。

JavaもAndroid開発で触れていたりする。

大学では物理学を勉強中。

好きな物理理論は一般相対性理論らしい。

意外と動物が好きだったり、、、。

 

大石ゆかり

Javaのconcatメソッドを使って文字列を連結する方法がよくわかったので良かったです!

田島悠介

ゆかりちゃん、今後も分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

 

また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。

独学に限界を感じたら…テックアカデミーに相談しよう

プログラミングを独学していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 独学に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう 厳しい試験を通過した講師 があなたの相談に真摯に向き合います。

「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」

こんな気持ちでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料で予約する