Рассмотрите интерфейс HasWord
и класс Word
, который его реализует. Ниже приведен класс отсечения, который пытается подать List<Word>
в Consumer
с параметром типа из общей функции. Какое правило мне не хватает о том, как это сделать?Использование ограниченного типа в общем методе
public static <T extends HasWord> void mapOverSentencesOfTokens(String input,
Consumer<List<T>> consumer) {
List<Word> sentenceForTagger = new ArrayList<>();
consumer.accept(sentenceForTagger);
}
Я задал этот вопрос плохо, я не думал об этом. Я буду распространять некоторые обороты и уклоняться.
Как компилятор может проверить, что ваш 'T' является' слово'? Что делать, если я вызываю 'mapOverSentencesOfTokens' с выведенным типом' OtherWordTypeHasWord'? Ваш потребитель должен иметь возможность принимать только списки этого типа. –