matches:入力された文字列全体が文字列オブジェクトに存在する値と等しいかどうかを確認します。
equalsIgnoreCase:大文字と小文字を区別せずに、入力された文字列が文字列オブジェクトに存在する値と等しいかどうかを確認します。
equals:大文字と小文字が区別され、入力された文字列が文字列オブジェクトに存在する値と等しいかどうかがチェックされます。
これは、Stringクラスに存在するメソッドについて私が知っていることです。
他に違いはありますか(貴重な違いがありませんか)?
違いがない場合は、なぜカントマッチメソッドをStringクラスから削除します。これは、上記の他のメソッドを適切に使用して、それが提供する機能を実現できるためです。
大きな違いがあります- matchesString
が、同じ文字列ではなく、正規表現パターンと一致するかどうかをチェックします。引数としてString
を受け取るという事実に惑わされないでください。
例えば:
"hello".equals(".*e.*"); // false
"hello".matches(".*e.*"); // true
主な違いは、matches
は正規表現に一致するのに対し、equalsは特定の文字列に一致することです。
System.out.println("hello".matches(".+")); // Output: true
System.out.println("hello".equals(".+")); // Output: false
System.out.println("wtf?".matches("wtf?")); // Output: false
System.out.println("wtf?".equals("wtf?")); // Output: true
正規表現 とは何かをご覧になることをお勧めします
これは私がドキュメントから得たものです...
一致(String regex
):この文字列が指定された正規表現に一致するかどうかを示します
等しい(String Object
):この文字列を指定されたオブジェクトと比較します。引数がnullでなく、このオブジェクトと同じ文字シーケンスを表すStringオブジェクトである場合にのみ、結果はtrueになります。
equalsIgnoreCase(String anotherString
):大文字と小文字を区別せずに、この文字列を別の文字列と比較します。 2つの文字列が同じ長さであり、2つの文字列の対応する文字が大文字と小文字を区別しない場合、2つの文字列は大文字と小文字を区別しないと見なされます。
matches
は、文字列が正規表現に一致する場合にtrueを返すため、Stringクラスから削除しないでください。
検証に使用されるmatches()----指定された文字列が指定された正規表現に一致するかどうか
例; String s = "humbapumpa jim"; assertTrue(s.matches( ".(jim | joe)。"));
完全一致として指定された文字列で指定された文字列をチェックするためのequals()。 equalsIgnoreCase()---大文字と小文字を区別して無視します。