Java8も出たことだし、ラムダ式で頑張ってみました。 たぶんこういうことだと思いますが、詳しくはきしださんに聞いた方がいいのでしょう。 2009-04-09 下のコードはQiitaにも置きました。 (追記)rec.applyRec(rec)が自分自身に名前を付けて呼び出してるからレギュレーション違反、と言われそうな気がしたので、ちょっとだけ修正。変数で受けてるのは、キャストするのがアレだな、1行が長くなるのが嫌だな、と思っただけのこと。変数で受けずに1行で書くことは可能です。 package example; import java.util.function.*; public class Program { public static void main(String[] args) { Function<Integer, Integer> fib = Y(f -> n -> n >