广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Java中Lambda表达式基础及使用
  • 292
分享到

Java中Lambda表达式基础及使用

JavaLambda表达式JavaLambda 2019-12-07 01:12:05 292人浏览 猪猪侠
摘要

目录一、举例说明1、无参无返回1.1 定义一个接口1.2接口实现类1.3 测试类2、有参无返回代码示例3、有参有返回二、简单事项1、省略模式2、注意事项三、Lambda表达式和匿名内部类的区别1、所需类型不同:2、使用限制不同:3、实现原理

目录
  • 一、举例说明
    • 1、无参无返回
      • 1.1 定义一个接口
      • 1.2接口实现类
      • 1.3 测试
    • 2、有参无返回代码示例
      • 3、有参有返回
      • 二、简单事项
        • 1、省略模式
          • 2、注意事项
          • 三、Lambda表达式和匿名内部类的区别
            • 1、所需类型不同:
              • 2、使用限制不同:
                • 3、实现原理不同:

                标准格式:

                三要素:形式参数 箭头 代码块
                格式:(形式参数)->{代码块}
                形式参数:如果多个参数用逗号隔开,无参留空
                ->:英文中划线和大于号组成
                代码块:具体要做的事

                使用前提:

                有一个接口
                接口中有且仅有一个抽象方法

                一、举例说明

                1、无参无返回

                1.1 定义一个接口

                
                public interface Eatable {
                    void eat();
                }

                1.2接口实现类

                
                public class EatableImpl implements Eatable{
                    @Override
                    public void eat() {
                        System.out.println("一天一苹果");
                    }
                }

                1.3 测试类

                
                public class EatableDemo {
                    public static void main(String[] args) {
                        //主方法调用useEatable
                        Eatable e = new EatableImpl();
                        useEatable(e);
                        //匿名内部类
                        useEatable(new Eatable() {
                            @Override
                            public void eat() {
                                System.out.println("一天一苹果");
                            }
                        });
                
                        //lambda表达式
                        useEatable(() -> {
                            System.out.println("一天一苹果");
                        });
                
                 
                
                    }
                
                    private static void useEatable(Eatable e){
                        e.eat();
                    }
                }
                

                2、有参无返回代码示例

                
                public interface Eatable {
                    void eat(String name);
                }
                
                public class EatDemo {
                    public static void main(String[] args) {
                        useEat((String name) -> {
                            System.out.println(name);
                            System.out.println("输出的啥");
                        });
                    }
                
                    private static void useEat(Eatable e){
                        e.eat("苹果");
                    }
                
                }
                

                3、有参有返回

                
                public interface Addable {
                    int add(int x,int y);
                }
                1.
                2.
                3.
                public class AddableDemo {
                    public static void main(String[] args) {
                        useAddable( (int x,int y ) -> {
                            return x+y;
                        });
                    }
                
                    private static void useAddable(Addable a){
                        int sum = a.add(5, 7);
                        System.out.println(sum);
                    }
                
                }
                

                二、简单事项

                1、省略模式

                • 参数的类型可省略,多个参数时候不可只省略一个;
                • 如果参数有且仅有一个可省略大括号和分号;
                • 如果代码块的语句只有一条,可省略大括号和分号(有return时return也省略掉)

                2、注意事项

                • 必须要有接口,接口中有且仅有一个抽象方法
                • 必须有上下文环境,才能推导出Lambda对应的接口:局部变量的赋值、调用方法的参数

                三、Lambda表达式和匿名内部类的区别

                1、所需类型不同:

                • 匿名内部类:可以是接口,也可以是抽象类,还可以是具体类
                • Lambda表达式:只能是接口

                2、使用限制不同:

                • 如果接口中有且仅有一个抽象类,两者都可以使用
                • 接口中多于一个抽象类,只能使用匿名内部类

                3、实现原理不同:

                • 匿名内部类:编译之后,产生一个单独的.class字节码文件
                • Lambda表达式:编译之后,没有单独的.class字节码文件,对应的字节码会在运行时动态的生成

                到此这篇关于Java中Lambda表达式基础及使用的文章就介绍到这了,更多相关Java中Lambda表达式内容请搜索编程界以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程界!

                --结束END--

                本文标题: Java中Lambda表达式基础及使用

                本文链接: https://www.lsjlt.com/news/82.html(转载时请注明来源链接)

                有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

                本篇文章演示代码以及资料文档资料下载

                下载Word文档到电脑,方便收藏和打印~

                下载Word文档
                猜你喜欢
                • Java中Lambda表达式基础及使用
                  目录一、举例说明1、无参无返回1.1 定义一个接口1.2接口实现类1.3 测试类2、有参无返回代码示例3、有参有返回二、简单事项1、省略模式2、注意事项三、Lambda表达式和匿名内部类的区别1、所需类型不同:2、使用限制不同:3、实现原理...
                  99+
                  2019-12-07
                  Java Lambda表达式 Java Lambda
                • Java中Lambda表达式使用及详解
                  Java中Lambda表达式使用及详解 前言 一、Lambda表达式的简介 Lambda表达式(闭包):java8的新特性,lambda运行将函数作为一个方法的参数,也就是函数作为参数传递到方法中。使用lambda表达式可以让代码更加...
                  99+
                  2023-08-16
                  java
                • Java中lambda表达式的基本运用
                  目录一、实现接口二、数字排序三、字符串排序方法四、对象排序总结一、实现接口 调用一个接口中的方法,传统方法:接口类A: package lombda; public interf...
                  99+
                  2022-11-13
                • 【Java基础】Java正则表达式的使用
                  文章目录 一、正则表达式规则1.字符类(只匹配一个字符)2.预定义字符(只匹配一个字符)3.数量词 二、使用方法三、例题演示 一、正则表达式规则 1.字符类(只匹配一个字符) [a...
                  99+
                  2023-09-29
                  正则表达式 java jvm
                • 【javaSE】 Lambda表达式与Lambda表达式的使用
                  文章目录 🌳Lambda表达式的背景🚩Lambda表达式的语法🚩函数式接口 🎋Lambda表达式的基本使用🎄...
                  99+
                  2023-09-15
                  开发语言 java Lambda表达式 源码
                • C++中的Lambda表达式及表达式语句
                  目录一、概念二、左值与右值三、类型转换四、操作符五、思考1、思考下面x变量是左值还是右值,有什么特性?2、思考一下以下赋值操作符的原始代码是怎样的?3、思考以下代码做了什么事情?一、...
                  99+
                  2022-11-12
                • Java Lambda表达式怎么使用
                  这篇文章主要介绍“Java Lambda表达式怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java Lambda表达式怎么使用”文章能帮助大家解决问题。一、背景Lamb...
                  99+
                  2023-06-29
                • java lambda表达式怎么使用
                  Java lambda表达式是Java 8引入的一种新特性,它可以简化代码的编写,尤其是在处理函数式接口时非常方便。下面是使用lam...
                  99+
                  2023-09-23
                  java
                • 【Java 基础篇】Java 正则表达式
                  文章目录 导言一、正则表达式的基本概念二、使用正则表达式的步骤三、示例代码1. 匹配字符串2. 提取匹配的内容3. 替换字符串 总结 导言 正则表达式是一种强大的文本模式匹配工具...
                  99+
                  2023-09-18
                  java 正则表达式 python
                • Java中Lambda表达式的使用详解
                  目录理解函数式接口以及 Lambda表达式的发展过程Lambda表达式及语法一起来看看具体的使用你需要注意什么Lambda的实际运用1.对集合排序2.遍历集合3.遍历集合(带条件)4...
                  99+
                  2022-11-12
                • lambda表达式如何在java中使用
                  这篇文章给大家介绍lambda表达式如何在java中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Lamda表达式λ 希腊字母表中排序第十一位字母,英语名称为Lambda避免匿名内部类定义过多其实质属于函数式 编程...
                  99+
                  2023-06-14
                • Java中Lambda表达式怎么用
                  这篇文章主要介绍了Java中Lambda表达式怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言Lambda表达式是java 8中包含的重要功能之一。Lambda表...
                  99+
                  2023-06-15
                • java Lambda表达式的使用心得
                  目录Lambda表达式的心得Lambda表达式法传统方法使用Lambda表达式 你首先要知道的Lambda表达式的技巧Lambda表达式只能用来简化仅包含一个public方法的接口的...
                  99+
                  2022-11-12
                • Java的Lambda表达式如何使用
                  这篇文章主要介绍“Java的Lambda表达式如何使用”,在日常操作中,相信很多人在Java的Lambda表达式如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java的Lambda表达式如何使用”的疑...
                  99+
                  2023-06-30
                • Java中Lambda表达式使用详细解读
                  目录前言一、Lambda表达式的简介二、Lambda表达式对接口的要求1.函数式接口2.@FunctionalInterface3.Lambda表达式的语法1.Lambda表达式的基...
                  99+
                  2023-05-18
                  java  Lambda表达式使用 java  Lambda表达式 Lambda表达式使用
                • Java中Lambda表达式有什么用
                  小编给大家分享一下Java中Lambda表达式有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Lambda表达式:1、简介首先Lambda表达式是属于Jav...
                  99+
                  2023-06-29
                • Java中Lambda表达式用法介绍
                  Lambda lambda是一个匿名函数,我们可以把lambda表达式理解为是一段可以传递的代码。 lambda简明的地将代码或方法作为参数传递进去执行。 “函数式...
                  99+
                  2022-11-12
                • Java中的反射,枚举及lambda表达式的使用详解
                  目录一、反射1.1定义1.2用途1.3反射基本信息1.4与反射相关的类1.5Class类(反射机制的起源)1.6Class类中的相关方法1.7获得Class对象的三种方式1.8反射的...
                  99+
                  2022-11-13
                • 关于Java 中的 Lambda 表达式
                  这篇文章我们将讨论关于Java 中的 Lambda 表达式,Lambda 表达式是 Java 涉足函数式编程的过程。它接受参数并将其应用于表达式或代码块。以下是语法的基本示例: ...
                  99+
                  2022-11-12
                • Lambda表达式的使用及注意事项
                  目录Lambda表达式的使用Lambda表达式的省略模式Lambda使用注意事项Lambda表达式和匿名内部类的区别Lambda表达式的使用 练习: 定义一个接口flyable,里面...
                  99+
                  2022-11-13
                软考高级职称资格查询
                编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
                • 官方手机版

                • 微信公众号

                • 商务合作