正在回答 回答被采纳积分+1
2回答
好帮手慕小班
2019-04-29 16:29:07
同学你好,这是我的代码,代码中确实调用的是重写后的equals方法,同学可以尝试运行一下:
public class Student {
private int id;
private String name;
public Student() {
}
public Student(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object obj) {
if (obj == null)
return false;
Student temp=(Student)obj;
if (getClass() != obj.getClass())
return false;
if(this.getId()==temp.getId()&&this.getName().equals(temp.getName()))
return true;
else
return false;
}
}测试类:
import java.util.Arrays;
import java.util.Comparator;
public class Test {
public static void main(String[] args) {
Student stu1 = new Student(1,"张三");
Student stu2 = new Student(1,"张三");
System.out.println(stu1.equals(stu2));
System.out.println(stu1==stu2);
}
}运行效果是:

同学可以尝试对比一下,是否为true。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星