java.lang.Stringクラスは javaで文字列を扱う時に使用するクラスです。
Stringの特徴
- Stringはイミュータブルなので、一度生成した文字列は変更できません。
変数値を変更したい場合は再代入する必要があります。 - String値の比較はequals()メソッドを使用する必要があります。
(イコール演算子「==」での比較は参照先の比較になり値の比較にはなりません)
Stringの継承・実装
継承クラス
・java.lang.Object
・java.lang.String
実装インターフェース
・java.io.Serializable
・java.lang.CharSequence
・java.lang.Comparable<String>
導入バージョン
・JDK1.0
StringのAPI
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
char | charAt(int index) | 指定されたインデックスにある文字を返す | |
int | compareTo(String str) | 2つの文字列を比較して結果を数値で返す | |
int | compareToIgnoreCase(String str) | 2つの文字列を大文字小文字区別なく比較して結果を数値で返す | |
String | concat(String str) | 文字を結合する | |
boolean | endsWith(String suffix) | 指定した文字で終わるか判定する | |
boolean | equals(Object obj) | 文字列と指定されたオブジェクトを比較する | |
boolean | equalsIgnoreCase(String anotherString) | 大文字と小文字を区別せずに文字列を比較する | |
byte[] | getBytes() | バイト配列値を取得する | |
int | hashCode() | ハッシュコード値を返す | |
int | indexOf(int ch) | 指定された文字が最初に出現する位置のインデックスを返す | |
boolean | isEmpty() | 文字列が空文字かどうかを判定する(lengthがゼロかどうか) | |
int | lastIndexOf(int ch) | 指定された文字が最後に出現する位置のインデックスを返す | |
int | length() | 文字列の文字数を返す | |
boolean | matches(String regex) | 指定された正規表現と一致するかどうかを判定する | |
String | replace(char oldChar, char newChar) | すべてのoldCharをnewCharに置き換えた値を返す | |
String | replaceFirst(String regex, String replacement) | 指定された正規表現に一番最初に一致する文字列を置換した値を返す | |
boolean | startsWith(String prefix) | 指定された接頭辞で始まるかどうかを判定する | |
String | substring(int sIdx, int eIdx) | sIdxからeIdxのまでの文字列を返す | |
char[] | toCharArray() | 文字列をChar配列に変換する | |
String | toLowerCase() | 文字列をすべて小文字にした結果を返す | |
String | toUpperCase() | 文字列をすべて大文字にした結果を返す | |
String | trim() | 先頭と末尾の空白を削除した文字列を返す | |
String | String.valueOf(byte a) | ◯ | byte型をString型に変換する (例)String a = String.valueOf((byte)127); |
String | String.valueOf(short a) | ◯ | short型をString型に変換する (例)String a = String.valueOf((short)127); |
String | String.valueOf(int a) | ◯ | int型をString型に変換する (例)String a = String.valueOf(127); |
String | String.valueOf(long a) | ◯ | long型をString型に変換する (例)String a = String.valueOf(127l); |
String | String.valueOf(float a) | ◯ | float型をString型に変換する (例)String a = String.valueOf(123.45f); |
String | String.valueOf(double a) | ◯ | double型をString型に変換する (例)String a = String.valueOf(123.45); |
String | String.valueOf(char a) | ◯ | char型をString型に変換する (例)String a = String.valueOf(‘a’); |
String | String.valueOf(boolean a) | ◯ | boolean型をString型に変換する (例)String a = String.valueOf(false); |
Stringサンプル
- (文字列の一部分を取得する)
-
String str = "ABCDEFG"; // 2文字目から5文字目までを取得する String v1 = str.substring(1, 5); v1 → "BCDE" // 3文字目から末尾まで取得する String v2 = str.substring(2); v2 → "CDEFG" // 先頭から3文字目まで取得する String v3 = str.substring(0, 3); v3 → "ABC"
- (接頭辞、接尾辞を判定する)
-
String str = "ABCDEFG"; // 文字列が"ABC"で始まるか判定する boolean b1 = str.startsWith("ABC"); b1 → true // 文字列が"XYZ"で終わる判定する boolean b2 = str.endsWith("XYZ"); b2 → false
- (プリミティブ型をString型に変換する)
-
String s1 = String.valueOf(123); s1 → "123" String s2 = String.valueOf(123.45); s2 → "123.45" String s3 = String.valueOf(true); s3 → "true"
- (大文字小文字を変換する)
-
String str = "ABCdef"; // 文字列をすべて小文字にする String s1 = str.toLowerCase(); s1 → "abcdef" // 文字列をすべて大文字にする String s2 = str.toUpperCase(); s2 → "ABCDEF"
コメント