2013-02-12 53 views
0
public boolean equals(Object obj) { 
    boolean result = false; 
     if (obj instanceof Recipe) { 
      Recipe that = (Recipe) obj; 
      if(this.getName().equals(that.getName())){ 

      for (int cnt = 0; cnt < I.length; cnt++) { 
       if (I[cnt].getName().equals(that.getName())) { 

       result = (this.getName() == that.getName()); 
     } 
      } 
    } 
    } 
    return result; 

} 

我可以比较配方的名称,一旦它们相等,我需要逐个比较配料,但我不知道如何做比较。我知道我需要一个for循环,我添加它来比较所有的成分,但之后要做什么。我真的很感激任何类型的帮助。如何使用equals方法比较不同类别中的对象数组

+0

我会添加配方的成分列表成集,因为配料可以以任何顺序。 这就是说,仅仅因为两种食谱具有相同的成分并不意味着它是相同的食谱,所以我从现实世界的角度对此保持警惕。例如,华夫饼和薄饼使用相同的成分。你需要通过食谱“平等”来确定你的意思。 – 2013-02-12 01:01:20

+0

我是什么?有数组吗?我们在哪里定义的? – AlexWien 2013-02-12 01:09:12

+0

配料[] I =新配料[10];我是一系列配料。 – user2063180 2013-02-12 01:10:56

回答

0

覆盖equals()的配方,因为它看起来你想,

,那么你必须配方

的每个字段比较,但你建议立即进行删除发布方的磁场源

+0

食谱必须具有相同的名称才能继续该过程。他们是否有不同的名字并不重要。 – user2063180 2013-02-12 01:07:44

0

列表等于检查对同等顺序的相同对象的引用,这可能是你需要的。如果是这样,请考虑Arrays.asList,它为您提供了一个引用数组的列表视图。