相关疑难解决方法(0)

理解HashMap中equals和hashCode的工作原理

我有这个测试代码:

import java.util.*;

class MapEQ {

  public static void main(String[] args) {
   Map<ToDos, String> m = new HashMap<ToDos, String>();
   ToDos t1 = new ToDos("Monday");
   ToDos t2 = new ToDos("Monday");
   ToDos t3 = new ToDos("Tuesday");
   m.put(t1, "doLaundry");
   m.put(t2, "payBills");
   m.put(t3, "cleanAttic");
   System.out.println(m.size());
} }

class ToDos{

  String day;

  ToDos(String d) { day = d; }

  public boolean equals(Object o) {
      return ((ToDos)o).day == this.day;
 }

// public int hashCode() { return 9; }
}
Run Code Online (Sandbox Code Playgroud)

何时// public int hashCode() { return …

java equals hashmap hashcode

43
推荐指数
4
解决办法
9万
查看次数

标签 统计

equals ×1

hashcode ×1

hashmap ×1

java ×1