Здесь хорошая ошибка, с которой я только что столкнулся. Рассмотрим список целых чисел:
List<Integer> list = new ArrayList<Integer>();
list.add(5);
list.add(6);
list.add(7);
list.add(1);
Любое образованное предположение о том, что происходит при выполнении list.remove(1)
? Что насчет list.remove(new Integer(1))
? Это может вызвать некоторые неприятные ошибки.
Каков правильный способ разграничения между remove(int index)
, который удаляет элемент из заданного индекса и remove(Object o)
, который удаляет элемент по ссылке при работе со списками целых чисел?
Главное здесь рассмотреть один @Nikita, упомянутый - точное сопоставление параметров имеет преимущество перед автоматическим боксом.