前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【Java_17】Lambda 表达式

【Java_17】Lambda 表达式

作者头像
用户8250147
发布2021-02-04 10:07:08
发布2021-02-04 10:07:08
32400
代码可运行
举报
文章被收录于专栏:黑马黑马
运行总次数:0
代码可运行

一、函数式编程思想

1. 面向对象思想
代码语言:javascript
代码运行次数:0
运行
复制
* 做一件事情:找一个可以解决这个事情的对象,调用方法完成
2. 函数式编程思想
代码语言:javascript
代码运行次数:0
运行
复制
* 只要可以获取结果,不论是谁完成的。
3. 举例
代码语言:javascript
代码运行次数:0
运行
复制
* 我们上楼,可以走楼梯,也可以坐电梯,还可以爬上去。
    - 面向对象:走楼梯方法,坐电梯方法,爬上去方法
    - 函数式: 我上去了。

二、Lambda 的标准格式

1. (参数类型 变量名) -> {一些方法}
代码语言:javascript
代码运行次数:0
运行
复制
() :与传统方式一样,无参是留空
-> :表示指向
{} :与传统方法一致
2. 示例
代码语言:javascript
代码运行次数:0
运行
复制
//匿名内部类创建线程任务
new Thread(new Runnable() {
        @Override
        public void run() {
            System.out.println("匿名内部类方式");
        }
    }).start();

//Lambda 表达式创建线程任务
new Thread(() -> {System.out.println("lambda表达式方式");}).start();
3. 注意事项
代码语言:javascript
代码运行次数:0
运行
复制
① 使用 Lambda 表达式必须含有接口且接口中只能有一个抽象方法
② 可以通过上下文能够判断省略的内容
    示例
        () -> System.out.println("赛尔号")
        # JVM 不知道它是个啥
4. 省略格式
代码语言:javascript
代码运行次数:0
运行
复制
① () : 小括号内的参数类型可以省略
② () : 若只有一个参数则小括号也可省略
③ {} :若大括号内只有一行代码则{}、;、return都可以省略(一旦省略必须全部省略)
5. 示例
代码语言:javascript
代码运行次数:0
运行
复制
//定义接口
public interface Person {
    public abstract void show(String s);
}

//示例
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
 
public class DemoLambda {
    public static void main(String[] args) {
        //创建线程池
        ExecutorService threadPool = Executors.newFixedThreadPool(5);
 
        //无参标准格式
        new Thread(() -> {
            System.out.println("lambda表达式方式");
        }).start();
 
        //省略格式
        threadPool.submit(() -> System.out.println("赛尔号"));
 
        //带参标准格式
        test("猪猪侠",(String s) -> {
            System.out.println(s);
        });
 
        //省略格式
        test("大傻",s -> System.out.println(s));
 
    }
 
    public static void test(String s,Person p) {
        p.show(s);
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、函数式编程思想
    • 1. 面向对象思想
    • 2. 函数式编程思想
    • 3. 举例
  • 二、Lambda 的标准格式
    • 1. (参数类型 变量名) -> {一些方法}
    • 2. 示例
    • 3. 注意事项
    • 4. 省略格式
    • 5. 示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档