Проблема, вероятно, в выражении if, как вы правильно указали. Похоже, вы не переопределили метод .equals()
внутри класса Player. Если вы не хотите этого делать, вы можете изменить оператор if на что-то вроде:
if (entry.getKey().getName().equals(player.getName())) {
, предполагая, что у класса Player есть метод getName (), возвращающий String, и вы хотите сравнить два Экземпляры игроков основаны на равенстве строк. Вы можете адаптировать это условие равенства либо внутри оператора if (как указано выше), либо внутри метода .equals () Player (также переопределяя метод hashCode (), как прокомментировал Андреас).
Если вы переопределили метод equals()
, но он по-прежнему не работает, попробуйте отладить этот метод или просто напечатать, когда он возвращает true и когда false.