ひょんな事からJava版Sparkをいじる機会があって、JavaRDDのmapメソッドにラムダ式を渡したら通るのにメソッド参照を渡したら実行時に例外が発生するという事態にぶち当たった。
これはラムダ式とメソッド参照の挙動の違いを発見か?!と思ったが、結果的にはEclipseのバグだった。
で、そのバグを再現する最小限のプログラムを作ろうとしたら、別の挙動(これもEclipseのバグ)に当たってしまった。
(前者はメソッド参照のシリアライズに関するEclipse新バージョンのバグで、後者は旧バージョンのバグ。バグを修正したら新しいバグが生まれてしまった感じに見える^^;)
これに関連して、ashigeruさんからメソッド参照のキャプチャーに関する話を聞いたが、これは知らなかった。知らないとハマることがありそう。
※コメント投稿者のブログIDはブログ作成者のみに通知されます