QSCTech/zju-icicles

Java期末试题答案错误

Light-Towers opened this issue · 3 comments

期末试题第二题

image
我实验得到的结果:HashSet的size是2。


原因:

  1. public boolean equals(Value v) { return v.i == i; } 并不是对父类equals(Object var1)的重写。

重写部分规则:

  • 参数列表与被重写方法的参数列表必须完全相同。
  • 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。
  1. 需要重写equals(Object var1) 和 hashCode() 方法,得到的HashSet的size值才是1