| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> java基础-lambda表达式 -> 正文阅读 |
|
[Java知识库]java基础-lambda表达式 |
一、java8新特性 1、java8新特性 二、lambda表达式 1、使用举例 ?2、lambda表达式语法的使用1 (1)举例:(o1,o2) -> Integer.compare(o1,o2); (2)格式: ->:lambda操作符或箭头操作符 ->左边:lambda形参列表 (其实就是接口中的抽象方法的形参列表) ->右边:lambda体 (其实就是重写的抽象方法的方法体) ?(3)lambda表达式的使用:(分为6种情况去介绍) a、无参、无返回值 b、需要一个参数,但是没有返回值 c、数据类型可以省略,因为可由编译器推断得出,称为“类型推断”? d、lambda若只需要一个参数是,参数的小括号可以省略 e、lambda若是需要两个或者以上的参数,多条执行语句,并且可以有返回值 f、当lambda体只有一条语句时,return与大括号若有,都可以省略(return和{}都省略) 总结: ->左边: lambda形参列表的参数类型可以省略(类型推断),如果lambda参数列表只有一个参数,则()也可以省略; ->右边:lambda体应该使用一对大括号包裹;如果lambda体只有一条执行语句(可能是return语句),可以省略这一对大括号,以及return关键字 (4)lambda表达式的本质:作为函数式接口的实例 ?三、函数式接口:只包含一个抽象方法的接口 ?1、基本的四大接口: ?eg1:消费型接口: eg2: 根据给定的规则,过滤结合中的字符串.此规则由Predicate(Predicate是一个函数式接口,只有一个抽象方法)的方法决定 ?2、函数时接口:其他接口? 三、方法引用和构造器引用 1、方法引用的使用情况 ?(1)使用情境:当要传递给lambda体的操作,已经有实现的方法了,可以使用方法引用 (2)方法引用本质上就是lambda表达式,而lambda表达式作为函数式接口的实例,所以方法引用,也是函数式接口的实例 (3)使用格式:类(或对象) :: 方法名 (4)具体分为如下的三种情况: a、对象 :: 非静态方法 eg2: ? ?b、类 :: 静态方法 eg2: c、类 :: 非静态方法(实例方法) eg2: eg3: ?(5)说明:方法引用的使用要求:要求接口中的抽象方法,他的形参列表和返回值类型与方法引用的方法的形参列表和返回值类型相同(针对于上述的a和b,c中有一些但是比较少) ?2、构造器引用和数组引用 (1)构造器引用:和方法引用类似,函数式接口的抽象方法的形参列表和构造器的形参列表一致,抽象方法的返回值类型即为构造器所属的类的类型 Employee的空参构造器:Employee() eg1: eg2: eg3: (2)数组引用 :可以把数组看作是一个特殊的类,则写法与构造器引用一致? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 17:11:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |