2007年10月15日月曜日

文字列の扱い

String クラス

オブジェクト参照変数の参照先に注意

String a = "Albert";
String b = "Bob";
System.out.println(a);
a = b;
System.out.println(b);

出力結果
Albert
Bob

String オブジェクトは不変
<サンプル>
String a = "Albert";
a.concat(" Einstein");
System.out.println(a);

<出力結果>
Albert
a が参照する String オブジェクトを変更することはできない。

<サンプル>
String a = "Albert";
a = a.concat(" Einstein");
System.out.println(a);

a に新しいオブジェクトを再代入している。
<出力結果>
Albert Einstein
_________

StringBuilder クラス

StringBuilder クラスは StringBuffer クラスと同じような機能を持ち StringBuffer クラスよりほとんどの面で高速に動作します。
文字列の連結などの操作は String クラスは使わず StringBuilder を使うほうが高速で有効。
<サンプル>
StringBuilder a = new StringBuilder("Albert");
a.append(" Einstein");
System.out.println(a);

<出力結果>
Albert Einstein
a が参照する StringBuilder オブジェクトを変更できる。

0 件のコメント: