Метод java.util.List.contains(Object o) принимает Object в качестве аргумента и внутренне использует Object.equals(Object o), как описано здесь. >
Если я выполню следующий код в Netbeans:
Код: Выделить всё
List listStr = new ArrayList();
listStr.contains(34); //warning
он выдает
очевидное предупреждение, а именно:
Код: Выделить всё
Given object can not contain instances of int (expected String)
Поскольку всем видно, что строка никогда не будет равна int, то почему бы ей не использовать Тип элемента E (в моем случае String) в качестве аргумента вместо Object?
Подробнее здесь:
https://stackoverflow.com/questions/228 ... tions-java