Самая коварная ошибка в Java - сравнение строк через `==`.
Почему это опасно:
-
== сравнивает ссылки (объекты), а не текст- иногда “работает” из-за String Pool, а иногда ломается в проде
- из-за этого появляются баги уровня: “на деве ок, в проде не ок”
Правило:
- ✅ для сравнения текста всегда
equals()- ✅ если строка может быть
null - используй "CONST".equals(str)- ✅ если нужно без учета регистра -
equalsIgnoreCase()Подписывайся, больше фишек каждый день !
❌ ПЛОХО: упадёт, если s == null
if (s.equals("OK")) {
handle();
}
// ✅ ЛУЧШЕ: safe equals (null-safe)
if ("OK".equals(s)) {
handle();
}
// ✅ Универсально: сравнение объектов + null-safe
if (Objects.equals(s, "OK")) {
handle();
}