gpt4 book ai didi

java - 为什么我的 equals 方法无法识别对象变量?

转载 作者:行者123 更新时间:2023-12-01 07:03:21 27 4
gpt4 key购买 nike

我只是想编写一个 equals 方法来比较学生姓名和部分。如果名称和部分相同,则 equals 方法应输出 true。否则它应该打印 false。

以下是我目前所掌握的内容。

public class Student {

private String name;
private int section;

public Student(String name, int section) {
this.name = name;
this.section = section;
}

public boolean equals(Object y) {

if (this.name.equals(y.name) && this.section.equals(y.section)) {
return true;
}
else {
return false;
}
}
}

错误在于 y.namey.section。 Eclipse 告诉我 namesection 无法解析为字段。

我的问题是,有人可以告诉我如何修复我的代码,以便我可以使用 .equals() 方法比较学生姓名和部分吗?

最佳答案

@Override  // you should add that annotation
public boolean equals(Object y) {

您的y是任何对象,不一定是学生

你需要有这样的代码

if (y == this) return true;
if (y == null) return false;
if (y instanceof Student){
Student s = (Student) y;
// now you can access s.name and friends

关于java - 为什么我的 equals 方法无法识别对象变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34983386/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com