【Java从入门到头秃专栏 7】语法篇(六) :Lambda表达式(->) 方法引用(::) stream流(一)

简介: 【Java从入门到头秃专栏 7】语法篇(六) :Lambda表达式(->) 方法引用(::) stream流(一)

1 Lambda表达式( -> )

   Lambda表达式的作用就是为了简化函数式接口的匿名内部类的一种代码写法,函数式接口就是内部只有一个抽象方法的接口,函数式接口会使用@FunctionalInterface注解标明,Lambda表达式的格式如下:


(匿名内部类被重写方法的形参列表)  ->{


   被重写方法的方法体;


}


实现Runnable接口创建线程的Lambda写法

image.png

如果重写方法的方法体只有一行代码,同时省略大括号和分号不写,如果这行代码是个return语句的话还要省略return不写

形参列表的参数类型也可省略不写

如果只有一个参数的话可以同时省略参数类型和小括号

实现Runnable接口创建线程的Lambda写法

image.png



collections排序的Lambda写法

image.png


2 方法引用( :: )

   方法引用是为了进一步的简化Lambda表达式的写法,主要有以下四种引用形式:静态方法的引用、实例方法的引用、特定类型方法的引用、构造器的引用


静态方法的引用



⚠  被引用静态方法的参数列表要和函数式接口中抽象方法的参数列表保持一致


类名::静态方法名

image.png

 


实例方法的引用


⚠  被引用实例方法的参数列表要和函数式接口中抽象方法的参数列表保持一致


对象名::实例方法名

image.png



最经典的实例方法就是输出语句

image.png

 


特定类型方法的引用

⚠  被引用方法的参数列表中的第一个参数作为后面返回语句中方法的调用者


调用者的类型::方法


image.png


构造器的引用


⚠  返回值是使用一个构造器创建对象


构造器::new


image.png

相关文章
|
4天前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
14 3
|
4天前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
12 1
|
7天前
|
Java 编译器
Java“返回类型为 void 的方法不能返回一个值”解决
在 Java 中,如果一个方法的返回类型被声明为 void,那么该方法不应该包含返回值的语句。如果尝试从这样的方法中返回一个值,编译器将报错。解决办法是移除返回值语句或更改方法的返回类型。
|
8天前
|
Java
让星星⭐月亮告诉你,jdk1.8 Java函数式编程示例:Lambda函数/方法引用/4种内建函数式接口(功能性-/消费型/供给型/断言型)
本示例展示了Java中函数式接口的使用,包括自定义和内置的函数式接口。通过方法引用,实现对字符串操作如转换大写、数值转换等,并演示了Function、Consumer、Supplier及Predicate四种主要内置函数式接口的应用。
14 1
|
5月前
|
安全 Java
从零开始学习 Java:简单易懂的入门指南之不可变集合、方法引用(二十六)
从零开始学习 Java:简单易懂的入门指南之不可变集合、方法引用(二十六)
|
4月前
|
存储 Java API
Java——Stream流(1/2):Stream流入门、Stream流的创建(认识Stream、体验Stream流、Stream流的使用步骤、获取Stream流的方法)
Java——Stream流(1/2):Stream流入门、Stream流的创建(认识Stream、体验Stream流、Stream流的使用步骤、获取Stream流的方法)
74 0
|
Java 索引
从零开始学习 Java:简单易懂的入门指南之方法(六)
方法的概念:方法(method)是程序中最小的执行单元注意:方法必须先创建才可以使用,该过程成为方法定义,方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用
从零开始学习 Java:简单易懂的入门指南之方法(六)
Java入门------static关键字和静态属性、方法
Java入门------static关键字和静态属性、方法
124 0
|
Java 程序员
Java 学习博客_10 入门——抽象类、抽象方法、接口
以黑马程序员全套Java教程网课为主。
100 0
Java 学习博客_10 入门——抽象类、抽象方法、接口