ふみぽん's diary

技術的な備忘録が主のブログ

Java実践 文字列の連結

文字列の連結についての備忘録

  • StringBuilderクラスを用いた文字列の連結

 

・StringBuilderインスタンスは内部にメモリ領域(バッファ)を備えている。

・そのメモリ領域に連結した文字列を蓄えることができる。

 

連結の手順

  1. append( )メソッドを呼び出してバッファに文字列を追加していく。(必要回数実行)
  2. toString( )メソッドを呼び出して、連結済みの文字列を取り出す。

 

サンプルコード 

 public static void main(String[] args){
StringBuilder sb = new StringBuilder();
sb.append("fumi");
sb.append("pon");
sb.append("'s diary");

System.out.println(sb.toString());
}

 

  • Stringインスタンスの不変性について

・Stringインスタンスが保持する文字列情報は、インスタンス化した際に初期化される。

・インスタンス化の以後、2度と変化することはない。

 

 String s = "Hello"

    s = s + "  World"

 

この結果。。。

 

  s = "Hello  World" のように

インスタンスが大きくなっているわけではない。

 

結論

「 + 」による連結が行われる瞬間に

古いインスタンスは捨てられて、連結後の情報をもつインスタンスがnewされる。