class Employee
{
private String name;
private int age;
private int empid;
public Employee(String name, int age, int empid)
{
super();
this.name = name;
this.age = age;
this.empid = empid;
}
}
如何修改上面的类,使其可以用作 HashMap 中的键
最佳答案
对于要用作 HashMap 中的键的类,基本上需要完成三件事。首先使类不可变,其次重写 hashCode 方法,第三重写 equals 方法。
使类不可变。以下是一些不变性规则:
- 将类(class)定为 final类
- 将所有成员设为最终成员,并在静态 block 或构造函数中显式设置它们
- 将所有成员设为私有(private)
- 没有修改状态的方法
通过本教程了解有关创建不可变类的更多信息:
要了解如何重写 hashCode 和 equals 方法,请按照以下步骤操作:
http://javarevisited.blogspot.in/2011/02/how-to-write-equals-method-in-java.html
关于java - 修改一个类,使其可以用作 HashMap 中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17554577/