Разница между совпадениями и equalsIgnoreCase или равна в строчном классе

соответствует: проверяет, соответствует ли полная введенная строка значению, представленному в строковом объекте.

equalsIgnoreCase. Игнорируя случай, он проверяет, соответствует ли введенная строка значению, присутствующему в строковом объекте.

equals: чувствителен к регистру и проверяет, соответствует ли введенная строка значению, представленному в строковом объекте.

Это то, что я знаю о методах, присутствующих в классе String.

Есть ли другие отличия (не хватает ли каких-либо ценных различий)?

Если нет различий, то почему метод can not matches можно удалить из класса String, так как функциональность, которую он создает, может быть достигнута с использованием других вышеупомянутых методов соответственно.

Ответ 1

Существует большая разница - matches проверяет соответствие String шаблону регулярного выражения, а не той же строке. Не вводите в заблуждение тот факт, что он получает String в качестве аргумента.

Например:

"hello".equals(".*e.*"); // false
"hello".matches(".*e.*"); // true

Ответ 2

Ключевое отличие состоит в том, что matches соответствуют регулярным выражениям, тогда как совпадения соответствуют определенной строке.

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

Я предлагаю вам взглянуть на то, что такое регулярное выражение

Ответ 3

Это то, что я получил из документации...

соответствует (String regex): указывает, соответствует ли эта строка данному регулярному выражению

equals (String Object): сравнивает эту строку с указанным объектом. Результат верен тогда и только тогда, когда аргумент не является нулевым и является объектом String, который представляет ту же последовательность символов, что и этот объект.

equalsIgnoreCase (String anotherString): сравнивает эту строку с другой строкой, игнорируя рассмотрение случая. Две строки считаются равными игнорирующими случаями, если они имеют одинаковую длину, а соответствующие символы в двух строках равны игнорированию случая.

Ответ 4

matches возвращает true, если строка соответствует регулярному выражению, поэтому ее нельзя удалить из класса String.

Ответ 5

matches(), используемый для проверки того, соответствует ли данная строка указанному регулярному выражению

ex.; String s = "humbapumpa jim";       assertTrue (s.matches(|) "(джим джо).." );

equals() только для проверки заданной строки с указанной строкой как точное совпадение. equalsIgnoreCase() --- будет игнорировать чувствительный к регистру.