栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Lambda表达式的相关知识

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Lambda表达式的相关知识

8-1、介绍

从jdk8开始的一种语法,用以简化匿名内部类

8-2、备注

函数式接口--------有且仅有一个方法

8-3、注意:

8-3-1、Lambda只能实现函数式接口的简化模式

8-3-2、可以使用@FunctionalInterface注解 ,判断该接口是否是函数式接口

8-4、格式

(被重写方法的形参)->{被重写的方法的方法体}

8-5、简化Lambda

8-5-1、可以省略参数类型

public class Test{
    public static void main(){
        //匿名内部类
        useInter(new InterA{
            @override
            public void show(String name){
                System.out.println(name);
            }
        });
        
        //Lambda
        useInter((name)->{
            System.out.println(name);
        });
        //8-5-2
        useInter( name->{
            System.out.println(name);
        });
        //8-5-3
        useInter( name->
            System.out.println(name)
        );
        //8-5-4
        useInterB((a, b)->
                 a + b
                 );
    }
    
    public static void useInter(InterA interA){
        interA.show("小米");
    }
    
    public static void useInterB(InterB interB){
        System.out.println(interB.show(10, 10));
    }
}
interface InterA{
    void show(String name);
}
interface InterB{
    int show(int a, int b);
}

8-5-2、当只有一个参数,()和参数类型都可以省略

8-5-3、当语句体只有一句,可以省略{}和

8-5-4、当只有返回值一句,省略{}和; 必须省略return

8-6、语法糖

介绍:实现原理相同,但是更加简单

8-7、Lambda和匿名内部类的区别

8-7-1、使用场景

Lambda:函数式接口

匿名内部类:具体类;抽象类;接口

8-7-2、实现原理

Lambda:编译后,不会产生单独的字节码文件(.class),它是动态生成(只在用的时候存活)

匿名内部类:编译后,产生单独的字节码文件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1003676.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号