ブルーダ


インフラストラクチャのThejavaとJAVA 8講座を聞いて、これらの内容をまとめました.

ブルードラン。

  • 匿名関数
  • パラメータ、矢印およびボディ(ラムダ戻り値)
  • (파라미터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を使用するとコンパイルエラーが発生します