【发布时间】:2013-06-12 20:37:17
【问题描述】:
为什么add(<T> element) 和remove(Object o) 方法接受不同的参数?
例如在Set<Short> 中添加短元素。为什么remove方法接受Object?如果不能添加任何其他数据类型,为什么要删除其他数据类型?
谢谢。
【问题讨论】:
-
JavaDoc 很好地解释了这一点:如果存在,则从该集合中删除指定元素(可选操作)。更正式地说,删除元素 e 使得 (o==null ? e==null : o.equals(e)).
-
remove 不必对所需的参数类型非常挑剔。