Java 8方法引用与构造器引用,数组引用举例分析
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"Java 8方法引用与构造器引用,数组引用举例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java 8方法引用与构造器引用,
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
江苏根荣互联网科技
鸠鸠互联网科技
互联网最新的科技有限公司
科技信息互联网
金融科技 互联网金融
互联网与未来科技
互联网科技生活的内容
互联网科技创新企业排名
深圳前海聚择互联网科技有限公司
随着互联网科技发展
苏州铭阳互联网科技有限公司
互联网科技人工智能实验室
乌鲁木齐新华智原互联网科技学校
群盈汇互联网科技有限公司
上海京穆互联网科技有限公司
易企秀互联网科技是做什么的
互联网科技企业商标注意事项
科技和互联网行业的特点
众联互联网络科技
前海云享互联网科技
紫鲸互联网科技
互联网科技咨询
西藏七维空间互联网科技有限公司
互联网科技中介
黑科技闪耀互联网之光
深圳市优智互联网科技有限公司
互联网科技创新的路径
互联网科技收购价值
互联网时代高科技布局
承德科技产业互联网平台