ブルーダ
インフラストラクチャのThejavaとJAVA 8講座を聞いて、これらの内容をまとめました.
匿名関数 パラメータ、矢印およびボディ(ラムダ戻り値) シャドウなし.
ローカルクラス、匿名クラスは新しいscopeを作成しますが、scopeはlamdaで囲まれたlamdaと同じです.
baseNumberを使用するとコンパイルエラーが発生します
ブルードラン。
(파라미터1, 파라미터2, ...) -> {반환값}
ローカルクラス、匿名クラスは新しいscopeを作成しますが、scopeはlamdaで囲まれたlamdaと同じです.
ローカルクラス、匿名クラス、Ramdaの比較
ローカルクラスと匿名クラス
final int baseNumber = 10;
//로컬클래스
class LocalClass{
void printBaseNumber(){
System.out.println(baseNumber); //10
}
void printBaseNumber2(){
int baseNumber = 11;
System.out.println(baseNumber); //11
}
}
//익명클래스
Consumer<Integer> integerConsumer = new Consumer<Integer>() {
Integer baseNumber = 11;
@Override
public void accept(Integer integer) {
System.out.println(baseNumber);
}
};
関数のbaseNumber値の影響(役割ドメインが異なるため)ブルーダ
//람다
IntConsumer printInt = (i) -> {
System.out.println(baseNumber); //10
};
baseNumberを使用するとコンパイルエラーが発生します
Reference
この問題について(ブルーダ), 我々は、より多くの情報をここで見つけました https://velog.io/@ahreum-kim/람다テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol