Java Lambda表达式

函数式接口

任何只有一个抽象方法的接口都是一个函数式接口

public interface Runable {
  public abstract void run;
}

对于函数式接口,可以使用lambda表达式来构建对象

public class TestLambda {
    public static void main(String[] args) {
        Like l1 = new iLike();
        l1.like();
        // lambda
        Like l2 = () -> System.out.println("i like lambda");
        l2.like();
    }
}

interface Like {
    void like();
}

class iLike implements Like {
    @Override
    public void like() {
        System.out.println("I like");
    }
}

同时可以传参

public class TestLambda {
    public static void main(String[] args) {
        // lambda
        Like l2 = (name) -> System.out.println("i like " +  name);
        l2.like("hello");
    }
}

interface Like {
    void like(String name);
}

最后还可以再lambda表达式基础上,简化参数类型(要去掉就都去掉)以及参数括号()(只有一个参数)与代码体括号{}(在代码体只有一行的情况)

posted @ 2025-10-28 15:21  Huaixuxm  阅读(3)  评论(0)    收藏  举报