为什么 Java 集合的移除方法不是通用的?
Java 集合框架为集合和映射提供了一个remove()方法。但是,此方法不是通用的,这意味着它接受 Object 作为参数而不是 E 类型参数。这一决定引发了人们对将remove()设为泛型的潜在好处的疑问。
将remove()设为泛型的一个论点是,当意外尝试从集合中删除不兼容的类型时,它可以防止编译时错误。例如,如果 Collection
但是,remove() 不是通用的主要是因为它允许基于相等性而不是严格的类型检查来删除对象。根据remove()方法规范,要删除的元素被标识为对象e,使得(o==null ? e==null : o.equals(e))为真。这允许元素删除的灵活性,因为删除的对象不需要与传递给remove()方法的对象具有相同的类型。
例如,可以有一个Map
以上是为什么 Java 集合的 `remove()` 方法不是通用的?的详细内容。更多信息请关注PHP中文网其他相关文章!