appendメソッド - StringBuilderクラス - 萌えJava超入門
StringBuilderクラス

appendメソッド

引数の値を、自身の文字列の末尾に追加します。

append

目次

1. appendメソッド


appendメソッドは、引数の文字列を、インスタンス自身の値の末尾に追加するメソッドです。
戻り値は、インスタンス自身です。
したがって、必ずしも戻り値を受ける必要はありません。

 public StringBuilder append(String str)

 public StringBuilder append(char[] str)

 public StringBuilder append(StringBuffer sb)

萌えJava超入門
普通に考えれば
追加するのは Stringだろう。
appendメソッド 書式
StringBuilder sb1;
String str;
   StringBuilder sb2 = sb1.append(str);
sb1 と sb2 は同じインスタンスです。




2.サンプルコード


StringBuilderクラスのインスタンス 「sb1」に、文字列を次々に append します。
途中、変数「sb2」と、インスタンスを共有して、動作を確認しました。

//Sample03_01.java

class Sample03_01{
    public static void main(String[] args){
      StringBuilder sb1 = new StringBuilder();

      sb1.append("緑間です。");
      System.out.println("sb1: " + sb1.toString());
      sb1.append("青峰です。");
      System.out.println("sb1: " + sb1.toString());

      System.out.println("--------------");

      StringBuilder sb2 = sb1.append("赤司です。");
      System.out.println("sb1: " + sb1.toString());
      System.out.println("sb2: " + sb2.toString());

      System.out.println("--------------");

      //sb1 だけ append(紫原)
      sb1.append("紫原どこ行った?");
      System.out.println("sb1: " + sb1.toString());
      System.out.println("sb2: " + sb2.toString());//sb2 にも反映!
    }
}

コマンドライン
>cd ws
ws>javac -encoding UTF-8 Sample03_01.java
ws>java Sample03_01
sb1: 緑間です。
sb1: 緑間です。青峰です。
--------------
sb1: 緑間です。青峰です。赤司です。
sb2: 緑間です。青峰です。赤司です。 //戻り値 sb2 も同じ値
--------------           //sb1 だけ append(紫原)
sb1: 緑間です。青峰です。赤司です。紫原どこ行った?
sb2: 緑間です。青峰です。赤司です。紫原どこ行った? //sb2 にも反映!


萌えJava超入門 萌えJava超入門
なるほど。
戻り値を変数で受ける必要は
あんまりないっスね。
萌えJava超入門
そう。
そこが Stringクラスとの違いだ。
StringBuilderは自身の値を変更できる。
戻り値を別のインスタンスとして扱いたい場合には、
  sb2 = new StringBuilder(sb2);
などとして、再度インスタンス化するといいでしょう。




お疲れ様でした。




© 2019 awasekagami