не предусматривает нормального способа это сделать?). Сегодня на меня снизошло откровение:
collection.removeAll(Collections.singleton(A));
Откровение номер два - оказывается метод removeAll совсем не так прост как изначально притворялся. Всегда думала, что он делает что-то вроде
boolean removeAll (Collection collection){
for(E e: collection){
this.remove(e);
}
}
и ведь нифига :
public boolean removeAll(Collection c) {
boolean modified = false;
Iterator e = iterator();
while (e.hasNext()) {
if (c.contains(e.next())) {
e.remove();
modified = true;
}
}
return modified;
}
У меня тоже сегодня было замечательное открытие. Точнее закрытие. Дали поревьюить код, во многих местах выставил "NPE is possible here". Разработчик отвечает: это же "внутренняя конфигурация"! Никакой пользователь не будет править её сам!
ОтветитьУдалитьУстроили большой консилиум и решили, что никакой "внутренней конфигурации" в природе не существует :) Входные данные нужно проверять всегда. Так вот и не состоялось у меня открытия... Закрыли тему )