Javaのクロージャはやや使い難いかも

関数型の変数に代入するとき、型の指定を厳密にする必要がある。

int function(int x) { return x * 2; }

int(int) closure = function;

System.println(closure(2));

みたいな感じ。(C#もそうなのかな?)
やっぱりこういうときはvariant型だよなあ、と思ってしまう。
しかし、関数型ができただけでも、
十分面白いことができそうな気がするので、
良しとしよう。