IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java零基础入门 19:java8 lambda表达式 -> 正文阅读

[Java知识库]Java零基础入门 19:java8 lambda表达式

🍅 Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强)
🍅 基础推荐:Java基础教程系列
🍅 实战推荐:Spring Boot基础教程
🍅 简介:Java领域优质创作者🏆、CSDN哪吒公众号作者? 、Java架构师奋斗者💪
🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步
🍅 欢迎点赞 👍 收藏 ?留言 📝

一、什么是Lambda 表达式?

Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。

虽然使用 Lambda 表达式可以对某些接口进行简单的实现,但并不是所有的接口都可以使用 Lambda 表达式来实现。Lambda 规定接口中只能有一个需要被实现的方法,不是规定接口中只能有一个方法。

JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。

简单明了,函数式接口就是为了Lambda 表达式而生的。

二、Lambda表达式的推导过程

1、匿名内部类 --> Lambda表达式 --> 简化Lambda表达式

package java8.lamda;
 
public class LamdaTest {
    public static void main(String[] args) {
        //匿名内部类
        IStudent student = new IStudent() {
            @Override
            public void study(String technology,int time) {
                System.out.println("匿名内部类,"+technology+time);
            }
        };
        student.study("java",8);
 
        //Lambda表达式改造(将类名和方法名去掉)
        IStudent student1 = (String technology,int time)->{
            System.out.println("Lambda表达式改造(将类名和方法名去掉)"+technology+time);
        };
        student1.study("java",8);
 
        //一级进化(去掉数据类型)
        IStudent student2 = ((technology, time) -> {
            System.out.println("一级进化(去掉数据类型)"+technology+time);
        });
        student2.study("java",8);
 
        //二级进化(简化括号),一般进行一次进化就可以了,二级进化没必要
        IStudent student3 = ((technology, time) -> System.out.println("二级进化(简化括号)"+technology+time));
        student3.study("java",8);
    }
}
 
@FunctionalInterface
interface IStudent {
    void study(String technology,int time);
}

2、控制台输出

在这里插入图片描述

更多内容详见:【Java8 新特性 2】java8 lambda表达式进阶

上一篇:Java零基础入门 18:java接口
下一篇:敬请期待

在这里插入图片描述

添加微信,备注1024,赠送Java学习路线思维导图
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:15:32  更:2021-12-04 13:15:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:39:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码