gpt4 book ai didi

java - 如何将对象参数与​​另一个对象参数(数组内)进行比较

转载 作者:太空宇宙 更新时间:2023-11-04 13:24:52 27 4
gpt4 key购买 nike

我需要在“if”语句中写什么才能检查对象的变量(数字)是否等于数组中的任何对象的变量(数字)?

public class Question{

private int number;
private String questionString;
private int index = 0;

public Question(int number, String questionString){


if(number < 0){
System.out.print("Number cannot be negative!");
}
if(questionString.equals(null) || questionString.trim().isEmpty()){
System.out.print("Question cannot be empty!");
}

this.number = number;
this.questionString = questionString;
}

public boolean equals(Object o){
if(o instanceof Question){
for(int i = 0; i < index; i++){
if(.... ){

}
}
return true;
}
return false;
}


}

测试类(主类),ofc 尚未完成,我只是希望它能为您提供足够的信息,了解如何继续我的问题类:

public class Test{
String name;
Question[] questions;

public Testi(String name, int nrQuestions){

}

public static void main(String[]args){

}

}

最佳答案

这应该做:

    public boolean equals(Object o){
if (o == null )
return false;

if(o instanceof Question){
if (((Question)o).number == this.number ){
if (this.questionString.equals(((Question)o).questionString)){
return true;
}
}

}
return false;
}

但要小心,如果您要实现 equals(),您还应该实现 hashCode()。你的“模型”应该清楚地表明两个对象何时相等。就您而言,我想说,当两个问题的编号相同时,那么问题也是相同的。如果没有,您还应该将 questionString 添加到支票

关于java - 如何将对象参数与​​另一个对象参数(数组内)进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32763154/

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