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

广告
将在 10 秒后关闭
bannerAds