Java添加删除集的方法

时间:2013-06-16 22:19:21

标签: java methods add set

为什么方法add(<T> element)remove(Object o)接受不同的参数?

例如在Set<Short>中添加短元素。为什么删除方法会接受Object?如果您无法添加任何其他数据类型,为什么要删除其他数据类型?

谢谢。

2 个答案:

答案 0 :(得分:2)

add(<T> element):确保只添加一个T元素。

remove(Object o):您可以删除T元素,即使它是由Object引用引用的。

例如:

T t = new T();
Set<Short> set = new HashSet<Short>();
Short number = 2;
set.add(number);
Object numberObject = number;
set.remove(numberObject) // it will remove 2 from the set.

为什么要删除其他数据类型?我们没有删除其他数据类型,但我们可以删除数据,即使它被Object引用引用(如示例中所示)。

答案 1 :(得分:0)

remove(obj)方法删除(obj == null ? e ==null : obj.equals(e))true的对象。这是因为equals(Object)方法需要Objectobje不一定是同一类型。