JavaのGenericsについて勉強中です。
ある程度勉強して、
「ジェネリック型 List<T>」
「境界型パラメータ<E extends String>」
「境界ワイルドカード型List<? extends String>」
など、おおよそは理解できたのですが、
以下の関数型インターフェース「Function」を読み解くことができませんでした。
@FunctionalInterface
public interface Function<T, R> { <---(1) 引数 T、 戻値 R これは分かる
R apply(T t); <---(2) これもわかる
default <V> Function<V, R> compose(Function<? super V, ? extends T> before) {<---(3) 不明
Objects.requireNonNull(before);
return (V v) -> apply(before.apply(v));
}
}
上記(3)が不明です。
・Function<V, R>が不明です。Function<T, R>の再定義のでしょうか?
・Function<? super V, ? extends T> before も不明です。
beforeが「? super V」を引数として「? extends T」を戻すという事でしょうか?
その場合、(1)のFunction<T, R> と「T]との関係がまた不明です。
様は、頭が混乱している状況です。
初心者につき、質問内容に不備などございましたらご容赦ください。
以上、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/22 05:32