Javaのクロージャをいじってみた。(8)
何か、closureの引数でワイルドカード使うとエラーになる。
詳しく調べてないけど、以下のコードはエラーになった。
(BGGA 2008-08-11版のclosure.jarでやってエラーになった)
んー これは何か理由あっての制限なのかな。
それともこのバージョンは未完のためエラーになってしまうのかな。
英語だからってBGGAのページのドキュメントを読むのサボったから
見落としたのかな...。汗
詳しく調べてないけど、以下のコードはエラーになった。
(BGGA 2008-08-11版のclosure.jarでやってエラーになった)
// × コンパイルエラー
// "? supre T"の周辺で6つぐらいエラーが出る。
public Integer calc({? super T,Integer} func) {
// ありゃエラーになる。
}
// ○ コンパイル/実行可能
public Integer calc(Function<? super T,Integer> func) {
// これはOK
}
んー これは何か理由あっての制限なのかな。
それともこのバージョンは未完のためエラーになってしまうのかな。
英語だからってBGGAのページのドキュメントを読むのサボったから
見落としたのかな...。汗
コメント