- 1
- 2
- 3
- 4
public boolean equals(Object o) {
ErrorCode errorCode = (ErrorCode) o;
return !(code != null ? !code.equals(errorCode.code) : errorCode.code != null);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+89.1
public boolean equals(Object o) {
ErrorCode errorCode = (ErrorCode) o;
return !(code != null ? !code.equals(errorCode.code) : errorCode.code != null);
}
бля. голову поломать можно
guest 16.07.2009 14:58 # 0
И преобразование без проверки типа((( редкая подстава
guest 31.07.2009 16:55 # 0
помимо этого такое колличество отрицаний в условии, что читать просто невозможно.
истинная гадость )
guest 21.10.2009 13:19 # 0
А вообще в методах типа equals(), конечно, надоедает писать все необходимые блоки проверок.
Хотя для этого проще отнаследовать необходимые классы от одного, имеющего следующий код:
public class Object2<T extends Object2<T>>
{
public boolean equals(Object o)
{
if (o == null)
{
return false;
}
if (o == this)
{
return true;
}
if (this.getClass().isAssignableFrom(o.getC lass())) // Мы не знаем тип наследника, поэтому нельзя использовать instanceof
{
return true;
}
return equalsImpl((T) o); // T extends Object2<T>, поэтому приведение никогда не сломается с ClassCastException
}
protected abstract equalsImpl(T o); // Сравнение объектов одного класса
...
}
LinuxGovno 25.08.2021 05:54 # 0