Java Lambada表現入門例


本論文の実例はJava Lambada表現を述べている。皆さんに参考にしてあげます。具体的には以下の通りです。
一点の目
Lambda表現は、コードブロックを方法パラメータとしてサポートしており、Lamban表現は、より簡潔なコードを使用して、1つの抽象的な方法だけのインターフェース(関数式インターフェース)を作成することを可能にする。
Lambda表現は、匿名の内部クラスの煩雑な文法の代わりに主要な役割を果たします。
3つの部分から構成されています。
  • モザイクリスト。イメージリストは、イメージの種類を省略することができます。参照リストにパラメータが一つしかない場合は、参照リストの括弧も省略できます。
  • 矢印(->)は、英語の等号とより大きな記号で構成されている必要があります。
  • コードブロックです。コードブロックが一つの文しか含まれていない場合、コードブロックの括弧を省略することができます。コードブロックの括弧を省略した場合、この文は括弧で文の最後を表しないでください。Lambdaコードブロックにはreturn文が一つしかありません。returnキーワードを省略することもできます。Lamber表現は戻り値を必要としますが、そのコードブロックにはreturnを省略したステートメントが一つしかありません。Lamban表現はこのステートメントの値を自動的に返します。
  • 二匿名の内部クラスでコマンドモードを実現する
    1コード
    Commandインターフェース
    
    public interface Command
    {
      //       process()      “    ”
      void process(int[] target);
    }
    
    
    ProcessAray類
    
    public class ProcessArray {
      public ProcessArray() {
      }
      public void process(int[] target, Command cmd) {
        cmd.process(target);
      }
    }
    
    
    Command Testクラス
    
    public class CommandTest {
      public CommandTest() {
      }
      public static void main(String[] args) {
        ProcessArray pa = new ProcessArray();
        int[] array = new int[]{3, -4, 6, 4};
        pa.process(array, new Command() {
          public void process(int[] target) {
            int sum = 0;
            int[] var3 = target;
            int var4 = target.length;
            for(int var5 = 0; var5 < var4; ++var5) {
              int tmp = var3[var5];
              sum += tmp;
            }
            System.out.println("        :" + sum);
          }
        });
      }
    }
    
    
    2運転
    配列要素の合計は、9です。
    3 Lamband表現でコマンドモードを実現します。
    1コード
    
    public class CommandTest2
    {
      public static void main(String[] args)
      {
       ProcessArray pa = new ProcessArray();
       int[] array = {3, -4, 6, 4};
       //     ,              
       pa.process(array , (int[] target)->{
          int sum = 0;
          for (int tmp : target )
          {
            sum += tmp;
          }
          System.out.println("        :" + sum);
         });
      }
    }
    
    
    2運転
    配列要素の合計は、9です。
    四つの比較
    Lambankda表現は匿名の内部カテゴリと比較して、new XXX(){}という煩雑なコードは不要であり、書き換え方法の名前を指摘する必要はなく、書き換え方法の戻り値タイプを与える必要はなく、書き換え方法の括弧と括弧内の中の参照リストを与えさえすれば良い。
    Lambda表現のコードブロックは、実装方法の方法体の代わりになり、Lamban表現は匿名の方法に対して行われる。
    5 Lamda表現の簡略化された書き方
    1コード
    
    interface Eatable
    {
      void taste();
    }
    interface Flyable
    {
      void fly(String weather);
    }
    interface Addable
    {
      int add(int a , int b);
    }
    public class LambdaQs
    {
      //        Eatable  
      public void eat(Eatable e)
      {
       System.out.println(e);
       e.taste();
      }
      //        Flyable  
      public void drive(Flyable f)
      {
       System.out.println("     :" + f);
       f.fly("【       】");
      }
      //        Addable  
      public void test(Addable add)
      {
       System.out.println("5 3   :" + add.add(5, 3));
      }
      public static void main(String[] args)
      {
       LambdaQs lq = new LambdaQs();
       // Lambda             ,       。
       lq.eat(()-> System.out.println("       !"));
       // Lambda              ,     
       lq.drive(weather ->
       {
         System.out.println("     :" + weather);
         System.out.println("       ");
       });
       // Lambda             ,     
       //           ,           ,     return   。
       lq.test((a , b)->a + b);
      }
    }
    
    
    2運転
    Lambanks$Lamban$1/1078694789@3d075dc0
    リンゴの味はいいです。
    私は運転しています。Lambanks$2/1149319664@7cca494b
    今日の天気は「青空の晴れの日」です。
    ヘリコプターの飛行は安定しています。
    5と3の和は:8
    もっと多くのjava関連の内容に興味がある読者は当駅のテーマを調べてもいいです。「Javaは対象プログラムに向かって入門と階段教程を設計します。」、「Javaデータ構造とアルゴリズム教程」、「Java操作DOMノード技術のまとめ」、「Javaファイルとディレクトリの操作テクニックのまとめ」、「Javaキャッシュ操作テクニックのまとめ
    本論文で述べたように、皆さんのjavaプログラムの設計に役に立ちます。