Java 8方法引用与构造器引用,数组引用举例分析
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要讲解了"Java 8方法引用与构造器引用,数组引用举例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java 8方法引用与构造器引用,
千家信息网最后更新 2025年12月02日Java 8方法引用与构造器引用,数组引用举例分析
这篇文章主要讲解了"Java 8方法引用与构造器引用,数组引用举例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java 8方法引用与构造器引用,数组引用举例分析"吧!
import org.junit.Test;import java.io.PrintStream;import java.util.Comparator;import java.util.function.BiFunction;import java.util.function.BiPredicate;import java.util.function.Consumer;import java.util.function.Function;import java.util.function.Supplier;/* * 一、方法引用:若 Lambda 体中的功能,已经有方法提供了实现,可以使用方法引用 * (可以将方法引用理解为 Lambda 表达式的另外一种表现形式) * * 1. 对象的引用 :: 实例方法名 * * 2. 类名 :: 静态方法名 * * 3. 类名 :: 实例方法名 * * 注意: * ①方法引用所引用的方法的参数列表与返回值类型,需要与函数式接口中抽象方法的参数列表和返回值类型保持一致! * ②若Lambda 的参数列表的第一个参数,是实例方法的调用者,第二个参数(或无参)是实例方法的参数时,格式: ClassName::MethodName * * 二、构造器引用 :构造器的参数列表,需要与函数式接口中参数列表保持一致! * * 1. 类名 :: new * * 三、数组引用 * * 类型[] :: new; * * */public class TestMethodRef { //数组引用 @Test public void test8(){ Function fun = (args) -> new String[args]; String[] strs = fun.apply(10); System.out.println(strs.length); System.out.println("--------------------------"); Function fun2 = Employee[] :: new; Employee[] emps = fun2.apply(20); System.out.println(emps.length); } //构造器引用 @Test public void test7(){ Function fun = Employee::new; Employee em=fun.apply("www"); System.out.println(em.getName()); BiFunction fun2 = Employee::new; } @Test public void test6(){ Supplier sup = () -> new Employee(); System.out.println(sup.get()); System.out.println("------------------------------------"); Supplier sup2 = Employee::new; System.out.println(sup2.get()); } //类名 :: 实例方法名 @Test public void test5(){ BiPredicate bp = (x, y) -> x.equals(y); System.out.println(bp.test("abcde", "abcde")); System.out.println("-----------------------------------------"); BiPredicate bp2 = String::equals; System.out.println(bp2.test("abc", "abc")); System.out.println("-----------------------------------------"); Function fun = (e) -> e.show(); System.out.println(fun.apply(new Employee())); System.out.println("-----------------------------------------"); Function fun2 = Employee::show; System.out.println(fun2.apply(new Employee())); } //类名 :: 静态方法名 @Test public void test4(){ Comparator com = (x, y) -> Integer.compare(x, y); System.out.println("-------------------------------------"); Comparator com2 = Integer::compare; } @Test public void test3(){ BiFunction fun = (x, y) -> Math.max(x, y); System.out.println(fun.apply(1.5, 22.2)); System.out.println("--------------------------------------------------"); BiFunction fun2 = Math::max; System.out.println(fun2.apply(1.2, 1.5)); } //对象的引用 :: 实例方法名 @Test public void test2(){ Employee emp = new Employee(101, "张三", 18, 9999.99); Supplier sup = () -> emp.getName(); System.out.println(sup.get()); System.out.println("----------------------------------"); Supplier sup2 = emp::getName; System.out.println(sup2.get()); } @Test public void test1(){ PrintStream ps = System.out; Consumer con = (str) -> ps.println(str); con.accept("Hello World!"); System.out.println("--------------------------------"); Consumer con2 = ps::println; con2.accept("Hello Java8!"); Consumer con3 = System.out::println; } } 感谢各位的阅读,以上就是"Java 8方法引用与构造器引用,数组引用举例分析"的内容了,经过本文的学习后,相信大家对Java 8方法引用与构造器引用,数组引用举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
方法
参数
构造器
数组
实例
类名
分析
类型
学习
一致
内容
函数
对象
接口
静态
使用方法
功能
就是
形式
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
艾尔登法环无法登陆服务器怎么办
数据库填充位置
恶劣服务器
泰州巨鑫互联网络科技有限公司
软件开发培训好学吗
qq浏览器关闭网络安全检测
中学生网络安全手抄报的句子
ssd硬盘 服务器
济南软件开发学校有哪些
网管软件开发工作内容
荣耀x20无法连接到服务器
职称专业计算机网络技术
服务器维护与管理论文
软件开发的历程
硬软件开发 内部文档
广东最大软件开发公司
网络安全经历了哪几个阶段
东南大学网络安全导论课程
数据库完整性有待
国内网络安全厂商排名2021
一种服务器多架构存储系统
eap 网络安全
centos 备份数据库
数据库远程还原
扫黄打非护苗网络安全美篇
数据库处于备用
山东医疗网络安全协会
规划企业网络安全
软件开发公司的功能选择
app有时候读取不到数据库