「Eclipse」JavaクラスにhashCode()およびequals()を自動生成する方法
操作方法
1.ソースコード上で、右クリックして、「ソース(S)」を選択します。
2.「hashCode()およびequals()の生成(H)」をクリックします。
3.「hashCode()およびequals()メソッドにインクルードされるフィールドを選択します(F):」にフィールドを選択します。
例 age
4.「挿入ポイント」を選択します。
5.「ifステートメントでブロックを使用(B)」チェックを入れます。
6.[OK]を押します。
使用例
package com.arkgame.study;
public class UserInfo {
protected String userId;
protected String age;
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((age == null) ? 0 : age.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
UserInfo other = (UserInfo) obj;
if (age == null) {
if (other.age != null) {
return false;
}
} else if (!age.equals(other.age)) {
return false;
}
return true;
}
}
package com.arkgame.study;
public class UserInfo {
protected String userId;
protected String age;
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((age == null) ? 0 : age.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
UserInfo other = (UserInfo) obj;
if (age == null) {
if (other.age != null) {
return false;
}
} else if (!age.equals(other.age)) {
return false;
}
return true;
}
}
package com.arkgame.study; public class UserInfo { protected String userId; protected String age; @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((age == null) ? 0 : age.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } UserInfo other = (UserInfo) obj; if (age == null) { if (other.age != null) { return false; } } else if (!age.equals(other.age)) { return false; } return true; } }