Skip to content

Java期末试题答案错误 #252

@Light-Towers

Description

@Light-Towers

期末试题第二题

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions