1. 程式人生 > 實用技巧 >Go-strings包

Go-strings包

概述

Lambda 表示式(lambda expression)

是一個匿名函式,它是matlab中定義的一種函式形式,他的生成方式最簡捷。

lambda 抽象(lambda abstraction)

是一個匿名函式,即沒有函式名的函式。

使用方法

條件:介面中只有一個方法

like = ()-> System.out.println("I like lambda5");

例項

實現類到lambda的順序

/**
 * lambda 表示式
 */
public class Lambda01 {
    //3.靜態內部類
    static class Like2 implements ILike{
        @Override
        public void lambda() {
            System.out.println("I like lambda2");
        }
    }

    public static void main(String[] args) {
        ILike like = new Like();
        like.lambda();

        like = new Like2();
        like.lambda();
        //4.區域性內部類
        class Like3 implements ILike{
            @Override
            public void lambda() {
                System.out.println("I like lambda3");
            }
        }
        like = new Like3();
        like.lambda();
        //5.匿名區域性內部類
        like = new ILike() {
            @Override
            public void lambda() {
                System.out.println("I like lambda4");
            }
        };
        like.lambda();
        //6.lambda表示式
        like = ()-> System.out.println("I like lambda5");
        like.lambda();
    }
}
//1.介面
interface ILike{
    void lambda();
}
//2.實現類
class Like implements ILike{
    @Override
    public void lambda() {
        System.out.println("I like lambda");
    }
}

三種寫法

public class Lambda02 {
    public static void main(String[] args) {
        ILove l= null;
        l = (int a)-> { System.out.println("i love is "+a); };
        l.sayLove(1);
        l = (a)-> { System.out.println("i love is "+a); };
        l.sayLove(2);
        l = a -> { System.out.println("i love is "+a); };
        l.sayLove(3);
    }
}
interface ILove{ void sayLove(int a);}

一句話

簡化只有一個方法的介面的建立方式