@hirthwork

Тег slow в блоге hirthwork

hirthwork

успевать хочется.

hirthwork

hirthwork

Долгое время я юзал примерно следующую идиому при написании equals(...) для своих классов:

public class MyClass {
    @Override
    public boolean equals(final Object o) {
        if (o instanceof MyClass) {
            return equals((MyClass) o);
        }
        return false;
    }

    // всё внимание на спецификатор доступа
    public boolean equals(final MyClass other) {
        // здесь какая-то магия
    }
    // ...
}

Только что осознал, что для второго equals спецификатор доступа должен быть private, иначе в следующем коде я запросто могу словить AssertionError:

MyClass first = new MyDerived1(/*some data*/);
MyClass second = new MyDerived2(/*other data*/);
assert first.equals(second) == first.equals((Object) second);

Такие дела, жуйк.

inb4: сейчас набегут C++-петушки, которые будут кукарекать, но при этом не могущие вспомнить, когда они последний раз писали virtual перед оператором сравнения

hirthwork

оказалось, что в Рязани школьникам не дают портить отдых людям

hirthwork

Не все пережили Нашествие:

hirthwork

Не прошло и десяти лет, как в джаве придумали сделать итератор, который бы возвращал примитивы вместо их boxed вариантов: http://download.java.net/jd...eIterator.OfInt.html

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.