Java : 遅延評価

[id:lethevert:20060207:p4]
そういえば、Javaには遅延評価を表現する文法がないのも不満だった。
で、こんな文法ならありえそうかなとか思った。

class Lazy {
  pubic final lazy int value = value();
  private int value() { return ... }
}

で、簡略化して、こんな感じ。

class Lazy {
  public final lazy int value = { return ... }
}

finalなら、ローカル変数でも可ということで、

class Lazy {
  void someProc() {
    final lazy int value = { return ... }
    ...
  }
}

Lazyな配列は無理だが、Lazyなコレクションなら、現行の文法でも作れるが。