Lambda 函数式接口修饰

    科技2024-10-06  19

     

    Lambda 表达式需要“函数式接口”的支持

    接口中只有一个抽象方法的接口叫  函数式接口

     

    比如:

    package com.lm; //函数式接口修饰 @FunctionalInterface public interface MyFun { public Integer getValue(Integer num); }

     

    可以用注解@FunctionalInterface //函数式接口,这时接口中就只能定义一个方法

     

     

     

     

    package com.lm; //接口泛型 @FunctionalInterface //函数式接口,只能有一个方法 public interface MyPredicate<T> { //传对象判断实现 public boolean test(T t); }

     

    这时就不用加写个方法,乘写个方法了!

     

    package com.lm; import org.junit.Test; public class TestLambda8 { //需求: 对一个数进行运算 @Test public void test1() { Integer num = operation(100, (x) -> x * x); System.out.println(num); System.out.println("--------------------------"); Integer num2 = operation(100, (x) -> x + 100); System.out.println(num2); } public Integer operation(Integer num, MyFun mf) { return mf.getValue(num); } }

     

    Processed: 0.010, SQL: 8