错 在哪儿???怎么修改
来源:百度知道 编辑:UC知道 时间:2024/07/15 21:58:20
private String name;
private int age;
public MyKey(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return new String(name+","+age);
}
public boolean equals(Object obj){
if(name.equals(obj.name) && age==obj.age)
return true;
else
return false;
}
public int hasCode(){
return name.hashCode() +age;
}
}
class MyKey{
private String name;
private int age;
public MyKey(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return new String(name+","+age);
}
public boolean equals(MyKey obj){ //这儿
if(name.equals(obj.name) && age==obj.age)
return true;
else
return false;
}
public int hasCode(){
return name.hashCode() +age;
}
}
obj.name obj.age
这个地方需要先用instanceOf判断一下object是不是MyKey类的实例,然后强制转型((MyKey)Object).name。。。。。。
把Object 强制转为MyKey类型 ((MyKey)Object).name 然后.属性
obj的对象的属性name和age一般都是私有的,感觉你的obj像是MyKey了,所以得到get方法,最好也有set方法,如下:
[note]
class MyKey {
private String name;
private int age;
public MyKey(String name, int age) {
this.name = name;
this.age = age;
}
public String toString() {
return new String(name + "," + age);
}