import java.util.*;
class Dog {
public Dog(
String n) { name = n; }
public String name;
public boolean equals(Object o) {
if((o instanceof Dog) &&
(((Dog)o).name == name)) {
return true;
} else {
return false;
}
}
public int hashCode() {return name.length(); }
}
class MapTest {
public static void main(String[] args) {
Map<Object, Object> m = new HashMap<Object, Object>();
Dog d1 = new Dog("clover"); // let's keep this reference
d1.name= "clover";
m.put(d1, "Dog key");
System.out.println(m.get("clover"));
System.out.println(m.get(d1));
}
}
at the second last line, why does it return null?
cant we use an object's value to search an object?
(more confusing, K&B book stated THIS ("clover") would actually WORK)