Скажем, мне нужно сравнить некоторые строковые объекты в Java, и я должен сделать это, как миллион раз для программы с большим объемом. Строки будут либо полностью идентичными, либо не должны считаться совпадением. Какой метод более эффективен для использования, равен (равенство объекта) или соответствует (регулярное выражение)? Пример:Эффективность сопоставления строк, методы равных или совпадений
String a = "JACK", b = "JACK", c = "MEG";
a.equals(b);//True
a.equals(c);//False
a.matches(b);//True
a.matches(c);//False
Оба метода дают мне результаты, которые я хочу, но я хотел бы знать, какой из них будет более эффективным, учитывая высокий объем обработки.
Покажите нам, как вы будете использовать 'matches' для сравнения двух строк' 'Ā' и b'. (Я говорю это, потому что я думаю, вы поймете, насколько больше работы над «равными», когда вы на самом деле пытаетесь использовать это). – weston
Спасибо, я отредактировал вопрос, чтобы привести пример и сосредоточиться на аспекте эффективности. @Wiktor Stribiżew, можно ли удалить «дублированный» статус? Надеюсь, теперь ясно, что другой ответ не касается моего вопроса - я понимаю разницу между match() и equals(), но хочу знать, какой из них более эффективен. – Mattallica