目的
文字列を便利に扱いたい!
String クラスってなに?
String クラスは文字列の概念をクラスとしたものです。具体的な文字列はこのクラスから作成されたオブジェクトということになっています。
String クラスの説明
String クラスは以下のようなメソッドが定義されていて、これらのメソッドを利用すれば、クラス内でどんな処理が行われているのか知らなくても文字列を簡単に扱うことが出来ます。
- char charAt (int index)
- 引数の位置にある文字を返す
- boolean endsWith (String suffix)
- この文字が指定の suffix で終わる場合は true を返す
- boolean equals (Object anObject)
- 引数の文字列かどうかを判断する
- boolean equalslgnoreCase (String anotherString)
- 引数の文字列かどうかを大文字・小文字の区別無しに判断する
- int index (int ch)
- 引数の文字が最初に出現する位置を返す
- int index (String str)
- 引数の文字列が最初に出現する位置を返す
- int lastIndex (int ch)
- 引数の文字が最後に出現する位置を返す
- int lastIndex (String str)
- 引数の文字列が最後に出現する位置を返す
- int length ( )
- 文字列の長さを返す
- String substring (int beginIndex)
- 引数の文字列の部分文字列を新しい文字列として返す
- String substring (int beginIndex , int endIndex)
- 引数の文字列の部分文字列を新しい文字列として返す。終了位置を指定できる
- boolean startsWith (String prefix)
- 引数の文字列ではじまるかどうか判断する
- String toLowerCase ( )
- 文字列を小文字に変換した結果を返す
- String toUpperCase ( )
- 文字列を大文字に変換した結果を返す
String クラスの使い方
参照型は利用する際に、宣言、生成が必ず必要です。
String クラスは、参照データ型ですが、特別で生成しなくても利用可能です。
- 通常の参照データ型の使い方
クラス名 変数名 = new クラス名();
- String クラスの生成を省略する使い方
String 変数名 = "文字列";
String 型は、生成を省略しても構いません。上記のように省略しても、"文字列"部分が初期値の値として自動で生成されます。
ポイント
- String クラスは、参照データ型だが唯一生成を省略できるクラスです。
- String クラスの値は、不変のため文字列を操作する場合は、StringBuffer クラスを使います。
- String クラスは、参照データ型のため、オブジェクトの比較の際は、equals() メソッドを使います。
- String クラスは、java.lang パッケージに属しているため、import なしで利用可能。
ヒント
String クラスに格納されている文字列の変更は出来ません。「+」記号を使って文字列を連結していませんか?
String 型の変数を「+」で追記しているつもりでも、実は新しいオブジェクトを作っています。
例)
String a = "あいうえお";
String b = "かきくけこ";
a = a + b;
a + b で a オブジェクトが "あいうえおかきくけこ" に変更されるように見えますが、a オブジェクトの内容が変わるのではなく、新たに
a オブジェクトが生成され、そのオブジェクトに "あいうえおかきくけこ" が格納されます。
このように文字の連結等の文字列を操作したい場合は、StringBuffer クラスを使いましょう。
関連