Javaのlambda式をくどくど言う
Copyright©Stonee
1.lambdaの紹介と特徴 lambdaギリシャ文字λ”.論理学者のAlonzo Churchが効率的に計算できる数学関数を形式的に表現しようとしたことに由来し、ギリシャのアルファベットlambda(λ)パラメータをマークします.パラメータ変数付きの式をlambda式と呼びます. 私の理解について、lambda式はパラメータ付き関数の簡略化方式と考えることができます. lambda式は数学的な意味であり、Javaだけでなくpyなどのプログラミング言語にもこのような特性があることに注意しなければならない. 2.Javaにおけるlambda式の構文簡単な方法を見てみましょう. です.
はどのようにlambda式で表されますか?まず、lambdaはインタフェースを実現する方法の一つなので、方法の戻り値、方法名、パラメータタイプを省略することができます.これは式です.
ただし、この式には文が1つしかありません.式のカッコを省略することもできます. lambda式を使用する前提条件は、lambda式が指す変数のタイプが抽象的な方法しかないインタフェースであることです.たとえば、 は、lambda式がいくつかのブランチでのみ1つの値を返すが、他のブランチでは値を返さないことに注意しなければならない.これは合法的ではない. の値を返さない.
3.Javaでlambda式を導入する理由 Javaはオブジェクト向けの言語であることを知っています.lambda式を導入する前に、コードセグメントを伝達するには、Javaはオブジェクトを構築する必要があります.このオブジェクトのクラスには、必要なコードセグメントを含む方法があり、オブジェクトを通じてコードセグメントを伝達する必要があります.これは複雑すぎます.lambda式を使用することで、コードセグメントを直接伝達することができます.栗可第4点:lambda式の処理と応用における関数式プログラミングを参照する.肉眼で最も直感的に見ると、lambda式の導入はプログラムをより簡潔にする である.
4.lambda式の処理と応用関数式プログラミング(lambda式を関数のパラメータに埋め込む方法):
ただし、lambda式が適用されない場合、コードは次のようになります.
//上記の毛皮、未完待続...
1.lambdaの紹介と特徴
void func(String s){
System.out.println("stonee is so cool");
}
はどのようにlambda式で表されますか?まず、lambdaはインタフェースを実現する方法の一つなので、方法の戻り値、方法名、パラメータタイプを省略することができます.これは式です.
( s ) -> {System.out.println("stonee is so cool");}
ただし、この式には文が1つしかありません.式のカッコを省略することもできます.
iF a = () -> System.out.println("Stonee is so cool");
では、iF
は抽象的な方法しかないインタフェースである必要があります.lambda式は、このインタフェースを実現する方法です.このインタフェースを関数インタフェースと呼びます.Lambda式はblockであり、タイプがあると考えられています.前の例では、そのタイプはiF
です.このタイプしかありません.(int x) -> {if (x >0 ) return 1;}
は明らかに、上記の例はelse
ブランチで3.Javaでlambda式を導入する理由
4.lambda式の処理と応用
package chapter06.Lambda;
public class Test01 {
public static void main(String [] args){
shit(s -> System.out.println(s),"Hello, world"); // lambda dosomefxxk();
}
public static void shit(I lambda, String s){
lambda.doSomeFxxk(s);
}
}
@Functional
Interfaceinterface I{
void doSomeFxxk(String s);
}
ただし、lambda式が適用されない場合、コードは次のようになります.
package chapter06.Lambda;
public class Test01 {
public static void main(String [] args){
Me okk = new Me();
shit(okk,"Hello, world");
}
public static void shit(I lambda, String s){
lambda.doSomeFxxk(s);
}
}
@Functional
Interfaceinterface I{
void doSomeFxxk(String s);
}
class Me implements I { // class , shit
public void doSomeFxxk(String s){
System.out.println(s);
}
}
//上記の毛皮、未完待続...