网搜了一些相关文章,基本没有说到点子上,有的要下载插件,我试过,个人没成功,下载到一半就显示网络连接错误,实在太浪费时间,大概率是兼容性问题,我也不太清楚,但找到了一个笨办法,只需要改动一些地方就可以在任何地方使用
自测成功!!!
如下:
class Student{//视情况修改类名
String name;
int age;
String address;//视情况修改变量名
//构造方法
public Student(String name, int age, String address) {
super();
this.name = name;
this.age = age;
this.address = address;
}
//--------------从这里开始复制,但变量要跟上面一致------------
@Override
public String toString() {//打印方式,可以按照自己需要改,也可以不改
return “Student [name=” + name + “, age=” + age +", address="+address+ “]”;
}
//如果无法自动添加equals和hashCode方法,就复制;否则,复制到此。
@Override
public boolean equals(Object obj) {
//System.out.println("-------------------");
Student s = (Student)obj;//向下转型,可以获取子类特有成员
//每个间隔就是一个变量,可整体复制按照自己需要修改,
//提高效率
if(this==obj){
return true;
}
//提高程序的安全性,(健壮性)
if(this.getClass()!=obj.getClass()){
return false;
}
//----------------------------------------------------
//比较年龄是否相等,如果不等则返回false
if(this.age != s.age) {
return false;
}
//--------------------------------------------
//比较姓名是否相等,如果不等则返回false
if(!this.name.equals(s.name)) {
return false;
}
//------------------------------------------------
//比较地址是否相等,如果不等则返回false
if(!this.address.equals(s.address)){
return false;
}
//--------------------------------------------
//默认返回true,说明两个学生是相等的
return true;
}
@Override
public int hashCode() {
return age+name.hashCode();
}
}
//--------------复制到上面----------------------