mayton2019, Но если понадобится добавить ещё один метод который сопоставляет, например, два поля из класса, в этом случае снова копипастить один и тот же метод, меняя только условие?
Стоит отметить, что в вашем решении в одном условии обрабатывается, как существование токена, так условие с его вызовом. Но как вызвать условие для токена, которого не существует?
Правильнее будет разбить на два:
private Token matchInternal(Suplier<Boolean> condition, int tokenNum) {
if(hasToken(_currentTokenNum))
if (condition.get())
return getToken(tokenNum);
}
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.