Java 8方法引用与构造器引用,数组引用举例分析
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要讲解了"Java 8方法引用与构造器引用,数组引用举例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java 8方法引用与构造器引用,
千家信息网最后更新 2025年02月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(){ Functionfun = (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安全错误
数据库的锁怎样保障安全
http文件服务器 速度
网络安全技术学院好吗
光网络技术有哪些
百度极速版提现服务器异常
icloud连接到服务器时出现问题
csgo连接到官方服务器失败
网络安全谁动了你的信息
无忧软件开发
数据库名不可以使用数字吗
vs删除数据库数据库
大话西游2通天帝国服务器
ip网络技术基础英答案
可靠的数据库防火墙
服务器管理为什么要云帮手
前端软件开发有多少知识点
网络安全知识手抄报内容大全
macbook软件开发工具
软件开发与应用技术大学排名
台积电软件开发工资
杭州erp软件开发怎样收费
内存结构与数据库
杭州手机软件开发有哪些流程
济南QQ软件开发
河南金蝶销售软件开发
网络安全团队起名
安卓系统软件开发教程
was服务器部署
海康服务器无法启动怎么处理
软件开发公司php
郑州道迩软件开发有限公司