书上说 “冲突” ??
为啥是冲突 , 而不是覆盖 ??
Pair<T> 类中的 equals(T value) 方法 类型擦除后 不就是 equals(Object value) 吗 ,
正好覆盖 父类 Object 的 equals 方法呀 !
书上说 “冲突” ??
为啥是冲突 , 而不是覆盖 ??
Pair<T> 类中的 equals(T value) 方法 类型擦除后 不就是 equals(Object value) 吗 ,
正好覆盖 父类 Object 的 equals 方法呀 !
java 里面没有覆盖方法的概念吧,方法名称,参数类型。
你划线的地方,我理解的意思是:如果不考虑泛型擦除,这个 Pair
是可以有上面两个 equals
方法的,一个是继承 Object
的,一个是自己的,但是有了泛型擦除后,就不能有 equals(String)
方法了
8 回答6.5k 阅读
4 回答681 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
如果自动设置成overwrite,就和编写的目的不符合了吧,equals(T value) 本意是equals(String),而不是equals(Object)。而默认的标准比较方法是equals(Object), 这让程序无法明确代码的意图是想做什么,就设置为冲突了。