2013-05-31 12 views
47

Java 8ではラムダ式が追加されています。これがなぜ重要なのか理解したいと思います。関数型プログラミングイディオムにまださらされていないJavaプログラマにとって、それはどういう意味ですか?これは、コードのパフォーマンスを大幅に向上させるコードを書くことができるのか、コードをあまり冗長にしないのかということですか?またはそれのすべて。Javaラムダ式

+0

私はプログラミング言語の編成でクラスを取りました。私の教授から教えてくれたのは、コードを怠け者にすることができるということでした。あなたも、私はまだこれを理解していない、 "山の頂上に行く"ことができますか?しかし、本当に、それは私を離れて地獄を混乱させ、答えを見るのを待つことができません。 –

+0

私が見ることができる1つの使用は、ランタイムの選択と機能の作成です。あるオブジェクトに対して何かを行い、100個のメソッドのうちの1つに渡す必要があるか、100個のifsを持つ1つのメソッドに渡す必要があるかによって、lambdasではifメソッドなしでそのメソッドを書くことができます。 – arynaq

+5

'E = hc /λ'!!! Cmon man !! – Tdorno

答えて

38

Oracleは既にtutorialをアップしています。それはいくつかの大きなユースケースをリストしています。

リンクが見つかる前に、ラムダ式を使用してコードに「関数」を渡すことになりました。したがって、インタフェース/抽象クラスの全面的な混乱を必要とするコードをより簡単に書くことができます。たとえば、複雑なループ/条件付きロジックまたはワークフローを持つコードがあるとします。あるステップでは、何か違うことをしたいと思っています。ラムダ式では、「何か違うもの」を渡すことができます。しかし、チュートリアルを読んでください。それは非常に明確です。

+0

少し混乱します。あなたのフレーズの使用 - 「*私がリンクを見つける前に、私はそれを言うだろう」だから、あなたがオラクルのリンクを見つけた後、あなたの意見/思考は変わったのですか?私はあなたが間違っていると思っていたことを意味しています。私が求めているのは、先に言及したことが正しいとそのリンクの要点なので、ラムダ表現の可能性を完全には理解していないかどうかを知りたいのです。 – hagrawal

+0

私はそれが私の言葉であることを意味しました。チュートリアルフレーズそれはより良い –