java c lambda表达式_Java8函数式编程入门

Lambda表达式

Lambda表达式是函数式编程的核心。Lambda表达式即匿名函数,它是一段没有函数名的函数体,可以作为参数直接传递给相关的调用者。

在第一小节举的例子,一个线程输出"Hello World"字符串:

Runnable r = new Runnable() {

public void run() {

System.out.println("Hello World!");

}

};

new Thread(r).start();

这样的代码看起来冗长。看下用Lambda表达式怎么实现:

new Thread(() -> System.out.println("Hello World")).start();

输出结果:

5935c6d3a752812c15761085805787f7.png

Lambda表达式语法:

(Type1 param1, Type2 param2, ..., TypeN paramN) -> {

statment1;

statment2;

//.............

return statmentM;

}

1、lambda表达式没有参数,使用空括号()表示没有参数:

() -> { //..... };

2、lambda表达式只有一个参数,可省略参数括号和参数类型,javac能根据上下文推断出参数类型。

param1 -> {

statment1;

statment2;

//.............

return statmentM;

}

3、当lambda表达式只包含一条语句时,可以省略大括号{}。

param1 -> statment

4、参数类型省略–绝大多数情况,编译器都可以从上下文环境中推断出lambda表达式的参数类型。

(param1,param2, ..., paramN) -> {

statment1;

statment2;

//.............

return statmentM;

}

例子,定义Hunman接口:

public interface Hunman {

void say(String str);

}

lambda来使用这个接口:

Hunman h = str -> System.out.println(str);

h.say("Hello World");

输出结果:

7390a476114abedd14836554e51aade9.png

实现一个计算2个数的lambda表达式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值