java---函数.Lambda

标准格式
package 函数.Lambda.标准格式;

public interface Addable {
    int add(int x,int y);
}
package 函数.Lambda.标准格式;
/*
Lambda标准格式
   格式: (形式参数) —> {代码块}
       1.形式参数:  如果有多个参数,参数之间用逗号隔开;如果没有参数,留空即可
       2.-> :       代表指向动作,固定写法

     前提:
        1,有一个接口
        2,有且只一个抽象方法

 */

public class AddableDemo {
    public static void main(String[] args) {
        //在主方法中调用useAddble方法
        useAddble((int x, int y) -> {
            return x + y;
        });
    }

    private static void useAddble(Addable a) {
        int sum = a.add(10, 20);
        System.out.println(sum);
    }
}
省略模式
package 函数.Lambda.省略模式;

public interface Addable {
    int add(int x, int y);
}
package 函数.Lambda.省略模式;

public interface Flyable {
    void fly(String s);
}
package 函数.Lambda.省略模式;
/*
    省略规则:
        1,参数类型可以省略。但是有多个参数的情况下,不能只省略一个
        2,如果参数只有一个,那么小括号可以省略
        3,如果代码块的语句只有一条,可以省略大括号和分号,甚至是return
 */

public class LambdaDemo{
    public static void main(String[] args) {
        //省略参数类型
        useAddable((x, y) ->{
            return x+y;
        });
        //但是有多个参数的情况下,不能只省略一个
        /*useAddable((x,int y) ->{
            return x+y;
        });
        */
        //如果参数只有一个,那么小括号可以省略
        useFlyable(f -> {
            System.out.println(f);
        });
        //如果代码块的语句只有一条,可以省略大括号和分号
        useFlyable(s -> System.out.println(s));
        //甚至是return
        useAddable((x, y) -> x+y);
    }

    private static void useFlyable(Flyable f) {
        f.fly("风和日丽,晴空万里");
    }

    private static void useAddable(Addable a){
        int sum=a.add(10,20);
        System.out.println(sum);
    }
}
注意事项
package 函数.Lambda.注意事项;

public interface Inter  {
    void run();
}
package 函数.Lambda.注意事项;
/*
    注意事项:
        1,使用Lambda必须要有接口,并且要求接口中有且仅有一个抽象方法
        2,必须有上下文环境,才能推导出Lambda对应的接口
            根据局部变量的赋值得知Lambda对应的接口:
                Runnable r=() -> System.out.println(“Lambda表达式”);
            根据调用方法的参数得知Lambda对应的接口:
                new Thread(() -> System.out.println(“Lambda表达式”)).start)

    Lambda表达式和匿名内部类的区别
        1.所需类型不同
            匿名内部类:可以是接口,也可以是抽象类,还可以是具体类
            Lambda表达式:只能是接口

        2.使用限制不同
            如果接口中有且仅有一个抽象方法,可以使用Lambda表达式,也可以使用匿名内部类
            如果接口中多于一个抽象方法,只能使用匿名内部类,而不能使用Lambda表达式

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

 */

public class LambdaDemo {

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: java-1.8.0-openjdk.x86_64是一种Java编程语言的开源实现。它是基于OpenJDK项目的构建,适用于64位x86架构的计算机。Java是一种广泛使用的程序设计语言,它具有跨平台的特性,可以在不同的操作系统上运行。Java开发者使用Java开发工具包(Java Development Kit,JDK)来编写、编译和运行Java程序。而java-1.8.0-openjdk.x86_64就是Java 8版本的OpenJDK实现。 Java 8是Java平台的重要版本。它引入了许多新的特性和改进,包括Lambda表达式、函数式接口、默认方法、流API、新的日期和时间API等。Lambda表达式和函数式接口使得在Java中可以更方便地使用函数式编程风格。默认方法允许在接口中定义具体的方法实现,从而减少接口实现类的代码量。流API提供了一种更直观、更高效的方式来处理集合数据。新的日期和时间API解决了之前Java中日期和时间处理的一些问题,并提供了更强大、更易用的功能。 使用java-1.8.0-openjdk.x86_64,开发者可以在64位x86架构的操作系统上使用Java 8的新特性和改进。通过使用这个版本的OpenJDK,开发者可以在开源软件的基础上进行Java开发,享受到Java平台的强大功能,并且可以参与到OpenJDK社区中,贡献代码和交流经验。总之,java-1.8.0-openjdk.x86_64是一个重要的Java开发工具,适用于64位x86架构的计算机,可以帮助开发者更方便地使用Java 8的新特性。 ### 回答2: Java-1.8.0-openjdk.x86_64 是Java开发工具包的一个版本,适用于64位x86架构的操作系统。它是基于开源项目OpenJDK的一个具体实现,由Red Hat提供支持。OpenJDK是一个以Java为中心的开源社区,致力于开发和维护Java技术的免费实现。 Java-1.8.0-openjdk.x86_64是Java 8的一个版本,它提供了许多新的特性和改进,包括Lambda表达式、Stream API、新的日期和时间API等。这些新功能使得Java编程更加简洁、高效和易于使用。 由于Java-1.8.0-openjdk.x86_64是免费和开源的,因此它可以在各种操作系统上使用,包括Linux、Unix和Windows等。它还兼容许多开发工具和框架,如Eclipse、NetBeans和Spring等,这使得开发人员可以在使用Java进行开发时,使用他们喜欢的工具。 Java-1.8.0-openjdk.x86_64的安装和配置相对简单,可以通过下载安装包并按照说明进行安装。安装完成后,开发人员就可以开始使用Java 8的新特性来开发各种类型的应用程序,如Web应用、桌面应用和移动应用等。 总之,Java-1.8.0-openjdk.x86_64是一个开源、免费和功能强大的Java开发工具包,适用于64位x86架构的操作系统。它提供了许多新的特性和改进,使得Java编程更加方便和高效。 ### 回答3: java-1.8.0-openjdk.x86_64是一个Java开发套件,适用于64位的Linux操作系统。它是以开放源代码形式提供的,遵循开放Java社区制定的规范和标准。 这个开发套件是基于OpenJDK项目的一个版本,它提供了Java语言的开发和运行环境。它包含了Java编译器、Java虚拟机以及其他一些开发所需的工具。通过这个开发套件,开发者可以使用Java语言编写应用程序,然后在Linux操作系统上进行编译和执行。 Java-1.8.0-openjdk.x86_64是Java SE 8的一个实现版本,提供了Java 8的特性和功能。Java 8引入了许多新的特性,包括Lambda表达式、函数式接口、Stream API等,这些特性使得Java编程更加简洁和强大。 对于开发者来说,Java-1.8.0-openjdk.x86_64提供了一个强大和可靠的开发平台。它具有良好的性能和稳定性,并且可以与许多其他开发工具和框架集成。通过使用这个开发套件,开发者可以开发各种类型的应用程序,包括桌面应用、Web应用、移动应用等。 总而言之,java-1.8.0-openjdk.x86_64是一个适用于64位Linux的Java开发套件,提供了Java语言的开发和运行环境,以及Java SE 8的特性和功能。它为开发者提供了一个强大和可靠的平台,用于开发各种类型的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放码过来a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值