Javaプログラマ資格のシルバーレベルの問題でよくひっかかるので自分なりにまとめてみました。
trim()とは
trim()を使うと先頭と末尾の文字列の半角スペースを削除することがでます。
中間の半角スペース、全角スペースはトリムすることができません。
ちなみにtrimは日本語にすると削り取る・切り取るという意味があります。
構文
変数.trim();
trim()サンプルコード
//前方と後方に半角スペース
String pl1 = ” Programmer Life “;
System.out.println(pl1.trim()); // “Programmer Life”
//前方に半角スペース
String pl2 = ” Programmer Life”;
System.out.println(pl2.trim()); // “Programmer Life”
//後方に半角スペース
String pl3 = ” Programmer Life”;
System.out.println(pl3.trim()); // “Programmer Life”
//前方と後方に全角スペース
String pl4 = “ Programmer Life ”;
System.out.println(pl4.trim()); // “ Programmer Life ”
結果はわかりやすくダブルクォーテーションで囲っています。(実際はない)
StringBuilderとtrim
StringBuilderで作った文字列に対してtrim()したいときはtoStringで変換する必要があるようです。
StringBuilder sb = new StringBuilder(” Programmer Life “);
System.out.println(sb.toString().trim()); // “Programmer Life”
Stringは不変(immutable)なクラスであることに注意
Stringは不変(immutable)なクラスなのでtrim()をしても中身は変わりません。これを忘れがちでよくミスります。
例
//前方と後方に半角スペース
String pl = ” Programmer Life “;
pl.trim();
System.out.println(pl); // ” Programmer Life “
トリムしただけでは変数の中身は変わってくれないので、新たな受け皿を用意してあげる。
String pl = ” Programmer Life “;
String plTrim= pl.trim();
System.out.println(plTrim); “Programmer Life”
おわり
はじめはString好きだったのに、ややこしくて嫌いになってきた。