如下程序段所示,定义了一个Name类,在Name类中对equals()函数进行了重写,请问在if语句中的Name name= (Name) ob;这一句是什么意思?对于hashCode()方法是不是每次重写equals方法的时候都需要重写它呢?
程序段如下:
public class Name {
private String firstname;
private String lastname;
public Name(String firstname,String lastname){
this.firstname=firstname;
this.lastname=lastname;
}
public String getFirstname(){ return firstname;}
public String getLastname(){ return lastname;}
public String toString(){ return firstname+" "+lastname;}
public boolean equals(Object ob){
if(ob instanceof Name){
Name name= (Name) ob;
return (firstname.equals(name.firstname)&&lastname.equals(name.lastname));
}
else return super.equals(ob);
}
}
JAVA中有关重写equals()方法
答案:2 悬赏:0 手机版
解决时间 2021-02-25 12:58
- 提问者网友:我是我
- 2021-02-24 14:48
最佳答案
- 五星知识达人网友:春色三分
- 2021-02-24 16:22
Name name= (Name) ob
申明一个name对象并把ob强转为Name类型然后赋值给name
重写equals()应该重新hashCode()
申明一个name对象并把ob强转为Name类型然后赋值给name
重写equals()应该重新hashCode()
全部回答
- 1楼网友:一把行者刀
- 2021-02-24 17:50
public boolean override equals(){
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯