Java Can';t使用eclipse自动生成equals方法
我现在正在使用eclipse编写Java程序,但我需要重写Java Can';t使用eclipse自动生成equals方法,java,eclipse,equals,Java,Eclipse,Equals,我现在正在使用eclipse编写Java程序,但我需要重写equals方法,这样它将获取实际数据,而不是名称或id。当我尝试以我知道的方式自动生成它时,它会说我没有非静态变量。我添加了一些,但仍然不起作用。我对Java的了解不足以让我自己做这件事,但我知道的足够多,我很可能会理解你们所说的。(我还没有完成我的代码,我刚刚开始。整数x和y只是为了让它工作。) 要自动添加equals和hashCode方法: 菜单->源->生成hashCode()和equals() 选择要成为hashCode()和e
equals
方法,这样它将获取实际数据,而不是名称或id。当我尝试以我知道的方式自动生成它时,它会说我没有非静态变量。我添加了一些,但仍然不起作用。我对Java的了解不足以让我自己做这件事,但我知道的足够多,我很可能会理解你们所说的。(我还没有完成我的代码,我刚刚开始。整数x
和y
只是为了让它工作。)
要自动添加
equals
和hashCode
方法:
hashCode
和equals
方法才有意义。因此,如果您将示例更改为以下内容,则可以实现这些方法(或者由eclipse自动生成):
请注意,我如何将x
和y
变量移动到类级别,而不是方法级别。还请注意,创建的人或事物是创建者,而不是创建者,我不建议将您的包命名为mainPackage
,我也不会为了它而在每个类中导入java.util.
(如果您使用eclipse,只需按Ctrl+Shift+O来组织导入)
另请参阅。OP说他知道如何自动生成这些方法。。。问题不在于如何去做,而是因为他没有任何变量来建立这些方法。下级选民能解释一下他们对我的答案有什么看法吗?……当有人无能为力时,或者因为生活中的其他事情而心烦意乱,或者当他们希望左键点击时,会有如此大的力量,他们只是开始在SOF上投票,大多数时候这些投票都没有意义。
package mainPackage;
import java.util.*;
public class Main extends Creater {
public static void main(String[] args) {
int x = 0;
int y = 0;
thatInput = Inputs.ask();
Loops.CreateArray();
}
}
public class Main extends Creater {
private int x = 0;
private int y = 0;
public static void main(String[] args) {
// other code
}
@Override
public boolean equals(Object obj) {
// ... your equals code goes here
}
@Override
public int hashCode() {
// ... your hashCode, er, code goes here
}
// ... other code that does wonderful things with x and y
}