注目記事

【Javaコード入門】文字列_⑰appendメソッド

文字列を連結する – appendメソッド(StringBuffer/StringBuilderオブジェクト)

public StringBuilder append(CharSequence str [,int start, int end])
 str:追加する文字列
 start:追加する文字列の開始位置
 end:追加する文字列の終了位置

文字列を連結するには、StringBuilder/StringBuilderオブジェクトのappendメソッドを利用します。

StrAppend.java

  1. package com.example.mynavi.string;
  2.  
  3. public class StrAppend {
  4.   public static void main(String[] args) {
  5.     var str = new StringBuilder("あいうえお");
  6.     str.append("かきくけこ");
  7.     str.append("さしすせそ");
  8.     System.out.println(str.toString());
  9.     // 結果:あいうえおかきくけこさしすせそ
  10.   }
  11. }

その他にも、「+」演算子で文字列を連結することもできますが、Stringクラスの性質上、効率的ではありません。というのも、Stringクラスが固定長の文字列を表すことから、連結のたびに新しいインスタンスが生成される可能性があるためです。一方、StringBuilder/StringBufferクラスは可変長文字列を表すので、文字列が連結されてもインスタンスが新たに生成されることはありません。特に繰り返しの文字列連結では、StringBuilder/StringBufferを優先して利用してください。連結された文字列は、最後にtoStringメソッドを呼び出すことで取り出せます。
なお、StringBuilder/StringBufferクラスの違いは、排他制御機能を持つかどうかという点です。StringBufferクラスは、排他制御機能を持つため、マルチスレッド環境でも安全に利用できますが、その分、低速です。StringBuilderクラスは排他制御機能を持ちませんが、その分、高速に動作します。

文字列_目次
文字列
length/codePointCountメソッド
isEmptyメソッド
charAtメソッド
indexOf/lastIndexOfメソッド
equals/equalsIgnoreCaseメソッド
regionMatchesメソッド
compareTo/compareToIgnoreCaseメソッド
trimメソッド
startsWith/endsWithメソッド
toLowerCase/toUpperCaseメソッド
substringメソッド
replaceメソッド
splitメソッド
joinメソッド
formatメソッド
appendメソッド

監修

山田祥寛(有限会社 WINGSプロジェクト)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NEC にてシステム企画業務に携わるが、2003年 4 月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト(https://wings.msn.to/)」の代表でもある。主な著書に『改訂 3 版JavaScript 本格入門』(技術評論社)、「独習シリーズ(C#・Python・PHP・Ruby・JSP&サーブレットなど)」(翔泳社)、「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravel など)」(Amazon Kindle)など。売り上げの累計は100万部を超える。