このページでは主に使われると思われるものだけを取り上げています。全てのコンストラクタ/メソッド/例外などを知るには、APIのリファレンスを参照してください。
String のコンストラクタ
String クラスのインスタンスは、中身の文字列を " " でくくることにより生成することができるため、コンストラクタを使用する場面は限られています。
- String(String value)
- valueと同じ内容を持つ Stringオブジェクトを生成
- String(StringBuffer buffer)
- StringBuffer buffer に含まれている文字列を持つ Stringオブジェクトを生成
String のメソッド
長さ・比較
- int length()
- この文字列の長さを返す
- boolean equals(Object anObject)
- この文字列と指定されたオブジェクト(通常文字列)が一致しているか
- int compareTo(String anotherString)
- 2 つの文字列を比較し、自分が前なら負の整数、自分が後ろなら正の整数、一致していれば0を返す (辞書順)
- int compareToIgnoreCase(String anotherString)
- 大文字小文字を区別せずに、2 つの文字列を比較(辞書順)
部分文字列の位置
- char charAt(int index)
- index文字目の文字を返す
- int indexOf(String str)
- この文字列内で、文字列 str が最初に出現する位置が何文字目かを返す。文字列 str が含まれていなかった場合には -1 を返す。
- int indexOf(String str, int fromIndex)
- fromIndex文字目以降で、文字列 str がこの文字列内で最初に出現する位置が何文字目かを返す
部分文字列のチェック(前後)
- boolean startsWith(String prefix)
- この文字列が、文字列 prefix で始まるかどうか
- boolean startsWith(String prefix, int toffset)
- この文字列の toffset 文字目以降の部分文字列が、文字列 prefixで始まるかどうか
- boolean endsWith(String suffix)
- この文字列が文字列 suffix で終るかどうか
部分文字列のチェック(途中)
- boolean contains(CharSequence s)
- この文字列が指定された文字列 s を含むかどうか。なお、CharSequence はインタフェースで、String, StringBuffer, StringBuilder などに実装されている。
- boolean regionMatches(int toffset, String other, int ooffset, int len)
- この文字列の toffset 文字目からの長さ len の文字列と、文字列 other の ooffset 文字目からの長さ len の文字列が等しい場合に true を返す
- boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
- ignoreCase が true の場合に大文字小文字が区別されない以外は上と同じ
部分文字列のチェック(正規表現の利用)
- boolean matches(String regex)
- この文字列が指定された正規表現 regex にマッチするかどうか。
Pattern クラスを表に出さない簡便な方法で、1回しか使わないパターンであればこれで問題ない。複数回使うパターンの場合には毎回 compile をすることになるので望ましくない。
文字列の生成
String は文字列定数なので自分自身は不変です。新たに生成された文字列が戻り値として返されます。
- String concat(String str)
- この文字列の末尾に文字列 str を連結した新たな文字列を返す
- String substring(int beginIndex)
- この文字列の beginIndex 文字目から最後までの部分文字列を返す
- String substring(int beginIndex, int endIndex)
- この文字列の beginIndex 文字目から endIndex 文字目までの部分文字列を返す
- String replace(char oldChar, char newChar)
- この文字列内にあるすべての oldChar を newChar に置換した結果生成される、新しい文字列を返す