Поиск ArrayList с несколькими полями, используя только одно поле из другого ArrayList - PullRequest
0 голосов
/ 10 мая 2019

Если есть ArrayList для moviesAvailable, а список принимает title, year, genre, price.Как получить список фильмов, используя ArrayList из genres?

В классе Movie есть метод toString, который печатает фильмы.Когда я запускаю код, все после оператора if не выполняется, потому что условие возвращается как ложное.

Ответы [ 2 ]

1 голос
/ 10 мая 2019

Вам необходимо переопределить equals() в своем классе Genre, чтобы вы могли сравнивать экземпляры этого класса друг с другом.

Вот быстрая реализация, которую можно легко расширить для дополнительных функций:

@Override
public boolean equals(Object o) {
    if (!(o instanceof Genre)) {
        return false;
    }
    return ((Genre) o).name.equals(this.name);
}
0 голосов
/ 10 мая 2019

Вам необходимо переопределить метод equals в классе Genre, чтобы сделать, если условие работает, см. Ниже код

private String name;

Genre(String name){
    this.name = name;
}
public boolean hasType(String genre) {

    return genre.equals(this.name);
}

public boolean equals(Object o) {
   if (!(o instanceof Genre)) {
      return false;
   }
   return this.name.equals(((Genre)o).name);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...