Jtti广告广告
返回顶部
首页 > 资讯 > 后端开发 > 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

                猜你喜欢
                • Java中Lambda表达式使用及详解
                  Java中Lambda表达式使用及详解 前言 一、Lambda表达式的简介 Lambda表达式(闭包):java8的新特性,lambda运行将函数作为一个方法的参数,也就是函数作为参数传递到方法中。使用lambda表达式可以让代码更加...
                  478
                  2023-09-27
                  java
                • 【javaSE】 Lambda表达式与Lambda表达式的使用
                  文章目录 🌳Lambda表达式的背景🚩Lambda表达式的语法🚩函数式接口 🎋Lambda表达式的基本使用🎄...
                  386
                  2023-09-27
                  开发语言 java Lambda表达式 源码
                • Java Lambda表达式怎么使用
                  这篇文章主要介绍“Java Lambda表达式怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java Lambda表达式怎么使用”文章能帮助大家解决问题。一、背景Lamb...
                  450
                  2023-09-27
                • java lambda表达式怎么使用
                  Java lambda表达式是Java 8引入的一种新特性,它可以简化代码的编写,尤其是在处理函数式接口时非常方便。下面是使用lam...
                  638
                  2023-09-27
                  java
                • Java中Lambda表达式的使用详解
                  目录理解函数式接口以及 Lambda表达式的发展过程Lambda表达式及语法一起来看看具体的使用你需要注意什么Lambda的实际运用1.对集合排序2.遍历集合3.遍历集合(带条件)4...
                  555
                  2023-09-27
                  Java Lambda Lambda表达式
                • Java中Lambda表达式使用详细解读
                  目录前言一、Lambda表达式的简介二、Lambda表达式对接口的要求1.函数式接口2.@FunctionalInterface3.Lambda表达式的语法1.Lambda表达式的基...
                  655
                  2023-09-27
                  java  Lambda表达式使用 java  Lambda表达式 Lambda表达式使用
                • java lambda表达式详解
                  一、Lambda初识 我们知道,在Java中,接口是不能实例化的,但是接口对象可以指向它的实现类对象。如果接口连实现对象都没有呢?那还可以使用匿名类的方式,如下: public class JavaTest { public ...
                  378
                  2023-09-27
                  java servlet jvm
                • Java中Lambda表达式用法介绍
                  Lambda lambda是一个匿名函数,我们可以把lambda表达式理解为是一段可以传递的代码。 lambda简明的地将代码或方法作为参数传递进去执行。 “函数式...
                  752
                  2023-09-27
                  Java Lambda表达式 Lambda表达式
                • Java中Lambda表达式怎么用
                  这篇文章主要介绍了Java中Lambda表达式怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言Lambda表达式是java 8中包含的重要功能之一。Lambda表...
                  712
                  2023-09-27
                • Lambda表达式原理及示例
                  Lambda表达式   Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函数作为...
                  361
                  2023-09-27
                  Lambda表达式
                • Java中Lambda表达式的使用详细教程
                  目录简介格式实例函数式接口lambda作为参数遍历集合创建线程排序简介 说明 本文用示例展示Lambda表达式的用法。同时也会介绍Lambda的相关知识。 Lambda表达式介绍 L...
                  785
                  2023-09-27
                  Java Lambda表达式使用 Java Lambda表达式 Java Lambda
                • C++中的Lambda表达式及表达式语句
                  目录一、概念二、左值与右值三、类型转换四、操作符五、思考1、思考下面x变量是左值还是右值,有什么特性?2、思考一下以下赋值操作符的原始代码是怎样的?3、思考以下代码做了什么事情?一、...
                  802
                  2023-09-27
                  C++中的Lambda表达式 C++表达式语句 C++表达式
                • Java实例分析Lambda表达式
                  这篇文章主要介绍“Java实例分析Lambda表达式”,在日常操作中,相信很多人在Java实例分析Lambda表达式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java实例分析Lambda表达式”的疑惑有所...
                  246
                  2023-09-27
                • Java中lambda表达式的基本运用
                  目录一、实现接口二、数字排序三、字符串排序方法四、对象排序总结一、实现接口 调用一个接口中的方法,传统方法:接口类A: package lombda; public interf...
                  1215
                  2023-09-27
                  Java中Lambda表达式的使用 Java中Lambda表达式用法
                • Java中Lambda表达式用法是什么
                  本篇文章为大家展示了Java中Lambda表达式用法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Lambdalambda是一个匿名函数,我们可以把lambda表达式理解为是一段可以传递的代码...
                  216
                  2023-09-27
                • Java的Lambda表达式如何使用
                  这篇文章主要介绍“Java的Lambda表达式如何使用”,在日常操作中,相信很多人在Java的Lambda表达式如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java的Lambda表达式如何使用”的疑...
                  696
                  2023-09-27
                • Java的Lambda表达式使用实例分析
                  这篇文章主要讲解了“Java的Lambda表达式使用实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的Lambda表达式使用实例分析”吧!Lambada 简介lambda 表达...
                  662
                  2023-09-27
                • Lambda表达式详解
                  Lambda表达式 1. 为什么使用lambda表达式2. 入门案例3. lambda表达式组成4. lambda表达式使用4.1 语法格式一4.2 语法格式二4.3 语法格式三4.4 语法格...
                  805
                  2023-09-27
                  java jvm 算法
                • Lambda表达式的使用及注意事项
                  目录Lambda表达式的使用Lambda表达式的省略模式Lambda使用注意事项Lambda表达式和匿名内部类的区别Lambda表达式的使用 练习: 定义一个接口flyable,里面...
                  654
                  2023-09-27
                  Lambda表达式使用注意事项 Lambda表达式使用
                • lambda表达式使用方法
                  本篇内容介绍了“lambda表达式使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!package test;import java.u...
                  450
                  2023-09-27
                编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
                • 官方手机版

                • 微信公众号

                • 商务合作