如何创建在arrayList中搜索给定参数的方法

时间:2019-12-02 20:18:31

标签: java arraylist boolean

我正在尝试创建一个方法,如果两个参数(用户输入)在arrayList中,则该方法返回true。当我的代码运行时,它应该为true时总是返回false

public boolean containsItem(String targetTitle, String targetAuthor){
     boolean result= false;
     for (MediaItem contains : itemList) {
      if(contains.getTitle().equals(targetTitle) && contains.getAuthor().equals(targetAuthor)) {
        result = true;
      }else{
         result = false;
      }
     }
     return result;
  }

我需要两个单独的if语句或循环吗?我不确定为什么它总是返回false。我也尝试过if(contains.equals(targetTitle) && contains.equals(targetAuthor)) {

2 个答案:

答案 0 :(得分:2)

您不需要result = false部分,如果您发现有此刻,只需保持真实即可。同样,为了更快,当您找到true时:只需停止即可,无需继续,因此可以使用break停止循环,也可以直接使用return

public boolean containsItem(String targetTitle, String targetAuthor){
    for (MediaItem contains : itemList) {
        if(contains.getTitle().equals(targetTitle) && contains.getAuthor().equals(targetAuthor)) {
            return true;
        }
    }
    return false;
}

答案 1 :(得分:0)

display:table;

不确定getTitle()在这里的含义,是否等于equalsIgnoreCase()取决于您,但这应该可行。