JAVA hashCode() 方法的备注
相当困难
不,真的很难..
▪️Hero54.java
public class Hero54 {
private int hp;
public String name;
public boolean equals(Object o) {
if (o == this)
return true;
if (o == null)
return false;
if (!(o instanceof Hero54))
return false;
Hero54 r = (Hero54) o;
if (!this.name.trim().equals(r.name.trim())) {
return false;
}
return true;
}
public int hashCode() {
int result = 37;
result = result * 31 + name.hashCode();
result = result * 31 + hp;
return result;
}
}
▪️Test54.java :请将以下内容原生地用中文转述,只需给出一种选项:
import java.util.*;
public class Test54 {
public static void main(String[] args) {
Set<Hero54> list = new HashSet<Hero54>();
Hero54 h1 = new Hero54();
h1.name = "ミナト";
list.add(h1);
System.out.println(h1);
System.out.println("要素数=" + list.size());
//これをやることでc2オブジェクトのメンバー変数が全部空っぽになります
h1 = new Hero54();
h1.name = "アサカ";
System.out.println(h1);
list.remove(h1);
System.out.println("要素数=" + list.size());
}
}
▪️执行结果
Hero54@16f4c828
元素数量=1
Hero54@16d8bb2d
元素数量=1