3

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

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

谢谢你。

4

2 回答 2

3

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 引用引用(如示例中所示)。

于 2013-06-16T22:52:41.163 回答
0

该方法remove(obj)删除对象,例如。这是因为该方法需要一个,并且不必是同一类型。(obj == null ? e ==null : obj.equals(e))trueequals(Object)Objectobje

于 2013-06-16T22:51:56.757 回答