Java8特性之Lambda表达式

本文介绍了Java中的Lambda表达式,它是一种匿名函数,简化了代码编写。Lambda表达式可以有零个或多个参数,参数类型可以推导,并且如果方法体只有一条语句,可以省略大括号。通过示例展示了Lambda如何实现Runnable接口,以及其与匿名内部类的区别。Lambda表达式使得Java代码更加简洁和易读。
摘要由CSDN通过智能技术生成
  • Lambda表达式简介

  • Lambda表达式就是一种匿名函数,如果不了解什么是匿名函数,

  • 可以参考:Java匿名内部类

  • Lambda表达式语法:
    (argument) -> (body),
    例如:

(arg1, arg2) -> {body}

(a1 arg1, a2 arg2) -> {body}
  • 下面来看一些例子:
(int a, int b) -> {return a + b;};(a, b) -> {return a + b; };(a, b) -> a + b;
​
上面三句的效果是一样的
​
() -> {System.out.println("没有参数的Lambda表达式");};() -> System.out.println("没有参数的Lambda表达式");
  • 根据以上例子可见,
    Lambda表达式可以有零个或多个参数,
    参数类型可以指定,也可以根据上下文进行推导,(int a, int b)和(a, b)效果一样。

  • 如果方法体只有一条语句,则可以省略{}。

  • 根据Runnable定义一个RunnableIn接口,该接口是一个函数式接口(函数式接口:只包含一个抽象方法的接口)

@FunctionalInterface
public interface RunnableIn {public abstract int run(int a, int b);
}
public class TestLambda {public static void main(String[] args) {
​
        Runnable r1 = new Runnable() {
            @Override
            public void run() {
                System.out.println("匿名内部类");
            }
        };
​
        Runnable r2 = () -> System.out.println("Lambda表达式");
​
        RunnableIn r3 = (a, b) -> {return a + b; };
​
        RunnableIn r4 = (int a, int b) -> {return a + b; };
​
        r1.run();
        r2.run();
        int c = r3.run(1,3);
        System.out.println(c);
        int d = r4.run(2, 4);
        System.out.println(d);
    }}
​
输出结果:
匿名内部类
Lambda表达式
4
6
  • 由此可见,使用Lambda表达式,直接实现方法,简化了写法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值