Jawa / Говнокод #1357 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
public boolean equals(Object o) {
    ErrorCode errorCode = (ErrorCode) o;
    return !(code != null ? !code.equals(errorCode.code) : errorCode.code != null);
}

бля. голову поломать можно

Запостил: guest guest, (Updated )

Комментарии (4) RSS

  • Tinhol:
    И преобразование без проверки типа((( редкая подстава
    Ответить
  • зулин:
    помимо этого такое колличество отрицаний в условии, что читать просто невозможно.
    истинная гадость )
    Ответить
  • Кто-то решил сэкономить время )
    А вообще в методах типа 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); // Сравнение объектов одного класса
    ...
    }
    Ответить
  • Когда внедорожник притормозил у его дома, Вит не захотел устраивать сопливых сцен - он уже всё детально продумал.
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8