文字列比較 ".equals"と".matches"の違い
.equals
String型の文字列など、参照型を比較する際に用いられるのが.equalsです。
文字の大文字・小文字は区別されます。
(区別されない書き方 .equalsIgnoreCase)
一致するとtrue、不一致でfalseを返します。
(int型の整数などを比較する際は「==」の演算子が用いられます。)
参照型で==を用いてしまうと、値の比較がされず参照先の比較をしてしまい、意図した結果が得られません。
結果は、一段目は等しくなく二段目が等しと表示されます。
(一段目は参照先の比較、二段目は文字列の比較となるので)
ここまでは処理結果がtrueの時でしたが、falseを出す方法もあります。
その場合は論理演算子 ! を使用します。(!は論理否定と呼ばれます)
論理演算子は、後ろがboolean型の時に使えます。
trueの時にfalse、falseの時にtrueを表示します。
結果は等しくないですと表示されます。
複数判定させたい場合、論理演算子&&を使用します。
.matches
一致するとtrue、不一致でfalseを返します。指定した文字列と正規表現を比較する際に使われます。
true時にfalseを出す方法は.equalsと同じです。
正規表現とは、文字列のパターンを表す表現方法です。
例えば、A1からA9を表現したい場合には、A[1-9]と表すことができます。