質問: " "; をtrimメソッドで空白が取り除かれ、空文字から何もない状態になる。 よってequalsで比較するとtrueになり、isEmptyでもtrueになると考えました。 なぜfalse:falseになるのでしょうか? よろしくお願い致します。
回答: Stringクラスの各種文字列操作メソッドは、文字列を操作した結果のコピーを返すものであり、**元の文字列そのものは変化しません**。次のコードをご覧ください。 ``` public class test{ public static void main(String[] args){ String str = " "; String str2 = str.trim(); // 変数宣言追加 System.out.println(str.equals("") + str.isEmpty()); } } ``` trimした結果はstr2に格納されますが、その操作のもとになったstrは変化しません。 つまりstrは`" "`のままであり、`""`と等しくもなく、空文字でもないため、チェックはいずれもfalseになります。