0
インターフェイス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'は 'Word'であることを確認することができますか?もし 'mapOverSentencesOfTokens'を' OtherWordTypeHasWord'の推論タイプで呼び出すとどうなりますか?あなたの消費者は、そのタイプのリストだけを受け入れることができます。 –