Хотя есть несколько очень хороших и правильных ответов выше, я все же хотел бы упомянуть мой личный опыт, чтобы любой человек, столкнувшийся с такой же проблемой , мог получить мгновенную помощь от этого ответа.
У меня было две разные строки, скажем строка A и строка B из разных источников, они казались идентичными мне , но я не получал равно для них по методу равных
даже при использовании equalsIgnoreCase дал мне false
Я был не в курсе, потому что когда я печатал эти строки (A & B), чтобы проверить, как они выглядят, они
String A is dsycuii343qzx899+ty=
String B is dsycuii343qzx899+ty=
Итак, Затем я проверил длину двух строк , которые дали мне подсказку
String A length = 20
String B length = 21
ТАК, значит, я что-то упускаю,
так что я сделал
Я проверил каждый символ String символом , и я узнал проблему
Строка A, которая выглядела как dsycuii343qzx899+ty=
на самом деле dsycuii343qzx899+ty=\n
Т.е. в конце был LF
(символ новой строки), который был замечен при проверке журнала
надеюсь, это может кому-то помочь.