- 1
- 2
if (name != null ? !name.equals(module.name) : module.name != null) return false;
return true;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+90
if (name != null ? !name.equals(module.name) : module.name != null) return false;
return true;
Как ни крути, а нужны либо тернарный оператор, либо вспомогательная переменная, либо четыре сравнения.
никогда так не делайте
на самом деле сама ситуация говно
Рассмотрите случаи:
1) module.name == null
2) module == null
return (name != null) ? name.equals(useCase.name) : useCase.name == null;
return name == useCase.name || name != null && name.equals(useCase.name)
Кстати, в некоторых случаях это может оказаться даже эффективнее. Только мозги некоторым свернёт.
А то получается обёртка над обёрткой, которая вызывает обёртку, сравнивающую именно непустые строки.
Что Вам не нравится? Если это всё превратится в один вызов, то какие проблемы? Главное код, что-б был красивый.
if (name == null) {
return useCase.name == null;
}
return name.equals(useCase.name);
Но, похоже, доходчивее этот код уже не сделаешь