Javaのクロージャをいじってみた。(8)
何か、closureの引数でワイルドカード使うとエラーになる。 詳しく調べてないけど、以下のコードはエラーになった。 (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のページのドキュメントを読むのサボったから 見落としたのかな...。汗