icon
icon

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メソッドを使う方が処理にかかる時間が短いといえるでしょう。

 

コラム

コスパとタイパ、両方結果的に良くなる良くなる学び方とは?

「スクールは高いし時間も縛られて効率が悪い」と考える方は多いと思います。
もちろん、時間も費用もかかることは間違いありません。
ただ 結果的に無駄な学びにお金も時間もかける方がリスクが高いという考えもあります。

コスパ・タイパ最適化の参考として、 テックアカデミー卒業生がスクールを選んだ理由 をご紹介します。

  • ・困ったときに、質問や相談できる相手がいるため挫折しなかった
  • ・プロとして必要なスキルのみを深く学べたので無駄がなかった
  • ・副業案件の提供と納品までのサポートがあったので目的を達成できた

安価・短期間で広く浅く学んでも意味がありません。 本当に自分の目的が達成できるか、それが重要です。
自分にどのスキルや学び方が合っているか、どんな学習方法かなど、お気軽に 無料相談 に参加してみませんか?

カウンセラー・現役のプロへ、何でも気軽に無料相談可能。 30分か60分お好きな時間が選べて、かつ3回まで すべて無料で ご利用できます。
無理な勧誘は一切ない ので、お気軽にご参加ください。

今なら相談した方限定の割引・参加特典付き! 無料相談はこちら

実際に書いてみよう

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週間限定)

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