一个例子就学会Lambda表达式

Lambda表达式

都2020年了,Java程序员还不会lambda表达式?(赶快学起来)

lambda表达式是JDK8的新特性,可以取代大部分的匿名内部类,写出更优雅的代码。

lambda基础语法

/**
 * @author sean yang
 */
@FunctionalInterface
public interface NoReturnMultiParam {
    /**
     * 多参数无返回值
     * @param a
     * @param b
     */
    void method(int a, int b);
}
@FunctionalInterface
public interface NoReturnNoParam {
    /**
     * 无参无返回值
     */
    void method();
}
@FunctionalInterface
public interface NoReturnOneParam {
    /**
     * 一参无返回
     * @param a
     */
    void method(int a);
}
@FunctionalInterface
public interface ReturnMultiParam {
    /**
     * 多参数有返回
     * @param a
     * @param b
     * @return
     */
    int method(int a,int b);
}
@FunctionalInterface
public interface ReturnNoParam {
    /**
     * 无参数有返回
     * @return
     */
    int method();
}

@FunctionalInterface
public interface ReturnOneParam {
    /**
     * 一参数有返回
     * @param a
     * @return
     */
    int method(int a);
}

用lambda表达式来测试上面的六个接口

public class LambdaMain {
    public static void main(String[] args) {
        //无参无返回
        NoReturnNoParam noReturnNoParam = () -> {
            System.out.println("无参无返回");
        };
        noReturnNoParam.method();

        //一参数无返回
        NoReturnOneParam noReturnOneParam = (int a ) -> {
            System.out.println("一参数无返回"+a);
        };
        noReturnOneParam.method(110);

        //多参无返回
        NoReturnMultiParam noReturnMultiParam = (int a,int b) -> {
            System.out.println("多参数无返回"+ (a+b));
        };
        noReturnMultiParam.method(2,3);

        //无参有返回
        ReturnNoParam returnNoParam = () -> {
            System.out.println("无参有返回");
            return 1;
        };
        int res = returnNoParam.method();
        System.out.println("res = " +res);

        //一参有返回
        ReturnOneParam returnOneParam = (int a) ->{
            System.out.println("一参有返回");
            return a;
        };
        int res1 = returnOneParam.method(3);
        System.out.println("res1 = " +res1);
        //多参有返回
        ReturnMultiParam returnMultiParam = (int a,int b) ->{
            System.out.println("多参有返回");
            return a + b;
        };
        int res2 = returnMultiParam.method(2,3);
        System.out.println("res2 = " +res2);
    }
}

输出结果为:

无参无返回
一参数无返回110
多参数无返回5
无参有返回
res = 1
一参有返回
res1 = 3
多参有返回
res2 = 5
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值