StringとStringBuilderの違い
読み込み専用の文字列クラス:String
変更可能な文字列クラス:StringBuilder
CharSequenceという共通のインタフェースを実装している。
空文字列("")について
isEmptyメソッドで空文字列の判定可。
Stringクラスのオブジェクト生成
ダブルクォートで囲んだ文字列("012345")は、実行時にStringクラスのオブジェクトを生成する。
// Stringオブジェクト"01234"が生成され、それを変数strが参照している String str = "01234";
StringBuilderクラスについて
変更可能な文字列クラス。
// Stringオブジェクト"012345"が生成 // StringBuilderオブジェクトが生成され、そこにStringオブジェクトから文字列コピーが行われる StringBuilder sb = new StringBuilder("012345");
// abcをaBcへ変更 StringBuilder sb = new StringBuilder("abc"); sb.setCharAt(1, 'B');