StringBuilderクラス、エスケープなどまとめ
Advertisements
エスケープ処理とは
特別な文字を使い、後続する文字に別の意味を持たせる処理のこと。
エスケープシーケンスとは
エスケープ処理で表記した文字のこと。
改行文字を含む文字列がほしい場合
String str = "hoge/nfuga";
と書く。すると
hoge
fuga
と出力される。
StringBuilderクラス
StringBuilderクラスとStringクラスはCharSequenceという共通のインターフェースを実装しているため、共通のメソッドを提供する。
public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable, CharSequence
実際にソースをみても、implement CharSequenceってなってるね。
StringBuilderの同値比較
StringBuilderは同じ文字列の内容であっても、StringBuilderオブジェクトとの比較では偽を返す。
StringBuilderで文字列の比較を行う時は、
toStringメソッドでStringオブジェクトに変換してから比較する。
例を以下に示す
package string; public class UseStringBuilder { public static void main(String[] args){ StringBuilder sb1 = new StringBuilder("abc"); StringBuilder sb2 = new StringBuilder("abc"); System.out.println("==:"+ (sb1==sb2)); System.out.println("equals:" + (sb1.equals(sb2))); System.out.println("contentEquals:" + (sb1.toString().contentEquals(sb2))); } }
結果
==:false equals:false contentEquals:true