JavaSilverでメモしたところ備忘録として残しておこうと思います。
Stringクラスについて
- stringクラスはimmutable(不変)なオブジェクトである
- 文字列の追加や変更のたびに新しいインスタンスを生成
//Java
String str = "abc";
String str2 = str.toUpperCase();
System.out.println("str:" + str);
System.out.println("str2:" + str2);
//実行結果
str: abc
str2: ABC
Stringクラスのメソッド
メソッド名 | 説明 |
---|---|
charAt(int i) | (i)で指定したインデックスの文字を返す |
concat(String str) | (Str)の後ろに連結する |
endsWith(String s) | 文字列が指定した(s)で終わっていればtrueを返し、異なればfalseを返す |
indexOf(int ch) | (ch) で指定した文字が最初に出てきたインデックスを返すなければ-1
|
lastIndexOf(int ch) | (ch)で指定した文字を最後から探し見つけたインデックスを返すなければ-1
|
length() | 文字列の文字数・空白もカウントし数値を返す |
replace(char o, char n) | 文字列中にある文字oを文字nに置換した結果の文字列を返す |
startsWith(String prefix) | 文字列が実引数に入れた値から始まっていればtrueを返す |
substring(int i) | 0 ~ 実引数に入れた値までの部分文字列を返す始点を指定できる
|
toLowerCase() | 大文字を小文字に変換する |
toUpperCase() | 小文字を大文字に変換する |
toString() | オブジェクトが保持する文字列を返す変数にnullが来ると実行時エラー
|
equals(Object str) | 二つの文字列が等しいか判別する |
equalsIgnoreCase(String str) | 大文字小文字を区別せずに比較 |
StrinBuilderクラス
- StringBuilderクラスはmutable(可変)
- デフォルトで16字分のバッファを持つ
StringBuilderクラスのメソッド
-
append()
文字の追加を行うメソッド -
toString()
文字列に変換するメソッド
nullを変換しようとすると実行エラーが発生する
StringBuilderクラスのメソッド
メソッド名 | 説明 |
---|---|
append(String str) | (str)を文字列の後ろに追加する、Stringとは違い元の文字列は変化 する |
append(String str, int start, int end) | (Str)の範囲指定をして追加する |
insert(int offset, String str) | (str)の文字列を付け加えるためのものですが、付け加える位置を(offset)で指定できます |
delete(int start, int end) | (start)番目から、(end)番目の直前までの文字を削除します。 |
reverse() | 文字列の並びを逆にする |
void setCharAt(int index, char ch) | (index)番目の位置の文字を(ch)で置き換えます |
replace(int start, int end, String str) | (start)番目から、(end)番目の直前までの文字を、(str)で置き換えます。置き換える文字数と(str)の文字数が一致していなくも大丈夫です |
toString() | StringBuilderをStringに変換できる |
substring(int i) | Stringと同じ使い方ができます |