为什么方法add(<T> element)
和remove(Object o)
接受不同的论点?
例如,在Set<Short>
您添加短元素。为什么方法 remove 接受Object
?如果您不能添加任何其他数据类型,为什么要删除其他数据类型?
谢谢你。
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 引用引用(如示例中所示)。
该方法remove(obj)
删除对象,例如。这是因为该方法需要一个,并且不必是同一类型。(obj == null ? e ==null : obj.equals(e))
true
equals(Object)
Object
obj
e