Arraylist方法不起作用

时间:2016-05-01 23:09:49

标签: java arraylist methods

一切都很好,除了displayMatch()和deleteMatch() 显示的结果是"没有匹配"虽然我输入的输入有一些匹配

  
    

可能这部分问题会有所帮助

  

enter image description here

-(void)pauseGameSoUserDoesNotDieForNoReason:(NSNotification*)theNotification

1 个答案:

答案 0 :(得分:2)

嗯,您正在将您在displayMatch()方法中读取的字符串与您的联系人列表中的元素进行比较:

in.equals(c)

由于String不能等于联系人,因此您的列表将保持为空。

您可以更改Contact类中的equals()方法,将其内容与给定的String进行比较(最后一个成员的示例:)

public boolean equals(Object otherObject)
   {
      if (otherObject == null)
      {
         return false;
      }
      else if (otherObject instanceof String) {
         String otherString = (String) otherObject;
         String lowerCaseString = otherString.toLowerCase();
         return this.last != null && this.last.toLowerCase().contains(lowerCaseString);
      }
      else if (getClass() != otherObject.getClass())
      {
         return false;
      }
      else
      {
         Contact otherContact = (Contact)otherObject;
         return (first.equals(otherContact.first) && 
               last.equals(otherContact.last)&&
               phone.equals(otherContact.phone)&&
               email.equals(otherContact.email));
      }
   }

然后使用

c.equals(in);

代替。