Java Lambada表現と関数式インターフェースの実例分析


本論文の例はJava Lambada表現と関数式インターフェースを述べている。皆さんに参考にしてあげます。具体的には以下の通りです。
一点の目
Lambda式のタイプは、「ターゲットタイプ」とも呼ばれ、Lamband式のターゲットタイプは関数式インターフェースでなければなりません。関数式インターフェースは抽象的な方法だけを含むインターフェースを表します。関数式インターフェースは、複数のデフォルトの方法、クラスの方法を含むことができますが、抽象的な方法のみを宣言することができます。
匿名内部クラスの構文を使用して関数式インターフェースの例を作成する場合、抽象的な方法を実現すれば、この場合にはランバー表現を用いてオブジェクトを作成することができ、この式で作成されたオブジェクトのターゲットタイプはこの関数式インターフェースである。
Java 8は、一般的にインターフェース定義の前に置かれている@Funtional Interface注釈を関数インターフェースのために提供しています。この注釈はプログラム機能には作用していません。コンパイラにより厳しいチェックを実行するように伝えます。このインターフェースは関数式インターフェースである必要があります。そうでないとエラーが発生します。
Lamda表現には以下の2つの制限があります。
  • Lambda表現のターゲットタイプは、明確な関数式インターフェースでなければならない。
  • Lambda表式は、関数式インターフェースのためにのみオブジェクトを作成できます。Lamber表現は一つの方法しか実現できないので、一つの抽象的な方法しかないインターフェース(関数式インターフェース)のためにオブジェクトを作成することができます。
  • Lamda式の目標型は明確な関数式インターフェースであることを保証するために、以下の3つの一般的な方法があり得る。
  • は、関数式インターフェースタイプの変数にLamber表現を割り当てます。
  • は、関数式インターフェースタイプのパラメータとしてLamban表現を送る方法です。
  • は、関数式インターフェースを使用してLambda式を強制的にタイプ変換する。
  • 二実戦
    1コード
    
    @FunctionalInterface
    interface FkTest
    {
      void run();
    }
    public class LambdaTest
    {
      public static void main(String[] args)
      {
       // Runnable              
       // Lambda             Runnable      、      
       //      Lambda        Runnable  
       Runnable r = () -> {
         for(int i = 0 ; i < 2 ; i ++)
         {
          System.out.println("Lambda                   ");
         }
       };
       r.run();
    //  //       :       : Object      
    //  Object obj = () -> {
    //    for(int i = 0 ; i < 100 ; i ++)
    //    {
    //     System.out.println();
    //    }
    //  };
       Object obj1 = (Runnable)() -> {
         for(int i = 0 ; i < 2 ; i ++)
         {
          System.out.println(" Lambda            ,                 Runnable     ");
         }
       };
       ((Runnable)obj1).run();
       //    Lambda               ,      :
       // Lambda                             
       Object obj2 = (FkTest)() -> {
         for(int i = 0 ; i < 2 ; i ++)
         {
          System.out.println("Lambda                             ");
         }
       };
       ((FkTest)obj2).run();
      }
    }
    
    
    2運転
    Lambda表現のターゲットタイプは、明確な関数式インターフェースでなければなりません。
    Lambda表現のターゲットタイプは、明確な関数式インターフェースでなければなりません。
    Lambda表現に対して強制的なタイプ変換を行い、この式の目標タイプはRunnable関数式インターフェースであると判定できます。
    Lambda表現に対して強制的なタイプ変換を行い、この式の目標タイプはRunnable関数式インターフェースであると判定できます。
    Lambda式のイメージリストは、関数式インターフェース内の唯一の抽象的な方法のイメージリストと同じです。
    Lambda式のイメージリストは、関数式インターフェース内の唯一の抽象的な方法のイメージリストと同じです。
    もっと多くのjava関連の内容に興味がある読者は当駅のテーマを調べてもいいです。「Javaは対象プログラムに向かって入門と階段教程を設計します。」、「Javaデータ構造とアルゴリズム教程」、「Java操作DOMノード技術のまとめ」、「Javaファイルとディレクトリの操作テクニックのまとめ」、「Javaキャッシュ操作テクニックのまとめ
    本論文で述べたように、皆さんのjavaプログラムの設計に役に立ちます。