【Java】意外と覚えれないString クラスのメソッド群をまとめてみました!

JavaのStringは参照型のオブジェクトです。
変数に入れたString型の文字を値と思ってしまいがちですが、オブジェクトでJavaは扱います。


String型はStringというクラスのオブジェクトなのでいくつかメソッドが用意されています。
ですが、String型のメソッドは全部を覚えるのは難しくて現場で実装している時にいつも調べてしまっています。


そこで、私が覚えれないStringクラスのメソッド群をまとめてみました!
※この記事では、すべてのメソッドをまとめるわけではありません。


StringクラスのメソッドはOrcle公式サイトでも公開されています。
docs.oracle.com

replase メソッド

文字列置換を行うメソッドです。良く使いますねぇ・・・
第一引数で置換対象文字列を指定し、第二引数で置換後文字列を指定する

対象の文字列.replace(置換される文字列, 置換文字列)

trim メソッド

文字列から空白を取り除くメソッドです。これも良く使います。
文字列の先頭と末尾の連続した空白と制御文字をすべて削除します。
全角スペースは削除されません。

対象の文字列.trim()

substringメソッド

文字列の一部を取り出すメソッドです。稀に使います。
第一引数、第二引数で範囲を指定します。
※1文字目から3文字目まで・・・というイメージで

対象の文字列.substring(int beginIndex, int endIndex)

charAt メソッド

String文字列から任意の文字をchar型で出力する。あんまり使いません
char→Stringはvalueofメソッドを使う

対象の文字列.charAt(int endIndex)

concat メソッド

引数で指定した文字列を対象文字列の末尾にくっつけるメソッド。これは良く使います。

対象の文字列.concat(String "任意の文字列")

endwith メソッド

対象の文字列が引数で指定した文字列で終了しているかを判定しboolean値で返却する。あんまり使ったことありません(笑)

対象の文字列.endswith(String "任意の文字") //戻り値はboolean

使用例

    String str = "test";
    //trueが返る
    boolean flg = str.endsWith("t");
	}

結果

true

startWith メソッド

対象の文字列が引数で指定した文字列で開始しているかを判定しboolean値で返却するメソッドです。

対象の文字列.startwith(String "任意の文字") //戻り値はboolean

使用例

    String str = "test";
    //trueが返る
    boolean flg = str.startWith("t");
	}

結果

true

equals メソッド

同一値であるかを判定するメソッドです。
※ここでの同一とは同じ値であるかどうかです。


objectクラスのequalsメソッドと少し違います。


objectクラスのequalsメソッドは同一性、つまり同じオブジェクトであるかを判定するのに対し
Stringクラスのequalsは同じ値であるかを判定します。


これはJavaの難しいところですよねぇ・・・(笑)

対象の文字列.equals(String "任意の文字")  //戻り値はboolean

使用例

    String str = "test";
    Consumer<String> s = t -> System.out.print(t.equals("test"));
    s.accept(str);

indexOf メソッド

指定した文字列が対象文字列のどこに含まれているかを返すメソッド
何も一致しない場合 -1を返す

対象の文字列.indexOf(String "任意の文字") //戻り値はint

使用例

    String str = "test";
    Consumer<String> s = t -> System.out.print(t.indexOf("t"));
    s.accept(str);

結果

0

split メソッド

指定した文字列を取り除くメソッド
戻り値は配列型で返します。

対象の文字列.split(String "任意の文字") //戻り値はString[]

使用例

    String str = " texst";
    Consumer<String> s = t -> Stream.of(t.split("x")).forEach(h-> System.out.print(h));
    s.accept(str);

結果

 test


最後まで読んでいただきありがとうございました!
他にもJava系の記事も書いていますので読んでいただけると嬉しいです。