- ベストアンサー
Java7について
Java7で導入が検討されている"クロージャ"という機能ですが、 具体的にどんな機能なんでしょうか? そもそもクロージャというものが分かってません。 お手すきの時で結構ですので教えていただけませんか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#120325
回答No.1
ゴメンなさいー、Java7のクロージャーはよくしらないんですがー。 「クロージャー」とゆーのは、LL言語(ライトウェイトね)でよく使われますねー。これは「関数リテラルを扱う機能」のことですよー。つまり、関数を、値として変数に入れたりして利用できる機能ですねー。Javaでは、メソッドになるのかなー? LL言語では、クロージャは、無名関数(名前のない関数ですねー)として定義されたものを変数などに保管し利用しますねー。例えばJavaScriptなんかだと、 var x = function(){ なんたらかんたら } こんな具合にして関数を変数に入れますねー。そして、x();と呼び出せば、保管された関数が呼び出され実行されますねー。xと指定すれば、関数リテラルそのものが取り出せますよー。 Javaがどーいう実装なのかよく知らないんですがー、おそらくメソッドなどの処理をクラスの変数やフィールドなどに設定し呼び出したりできるよーになるんじゃないでしょーかー。
お礼
violini様 無学な私に易しい説明ありがとうございます。 クロージャーの概念がわかりました。 まだJavaのクロージャー機能は検討中との事なのですが、無名関数を 変数に入れて使うというところを見ると、ネストクラス(無名クラス)関係の実装になりそうな予感がしますね。 本当にありがとうございました。