1. lambda初体验

  1. 首先声明一个函数式接口,就只接口内只有一个抽象方法
//函数式接口
public interface Factory {Object getObject();}
  1. 接口实现类
public class SubClass implements Factory {@Overridepublic Object getObject() {return new User();}}
  1. User类
public class User {private String name;private int age;public User() {}public User(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +'}';}
}
  1. 测试类:
public class LambdaTest {public static void main(String[] args) {//1.子类实现接口Factory factory = new SubClass();User user = (User)factory.getObject();System.out.println(user);//2.匿名内部类factory = new Factory() {@Overridepublic Object getObject() {return new User("zhangsan",33);}};User object = (User)factory.getObject();System.out.println(object);//3.lambda表达式factory = () -> {return new User("李斯特",33);};Object object1 = factory.getObject();System.out.println(object1.toString());System.out.println("-----------------------------------------");//4.使用lambda表达式,做为参数传递User user4 = getUserFromFactory(() -> {return new User("wangwuxxx", 223);}, "User");System.out.println(user4);System.out.println("-----------------------------------------");//5. 使用lambda做为返回值User user5 = (User)getFactory().getObject();System.out.println(user5);}public static User getUserFromFactory(Factory factory,String beanName){Object obj = factory.getObject();if(obj != null && obj.getClass().getSimpleName().equals(beanName)){return (User) obj;}return null;}public static Factory getFactory(){return () -> { return new User("dingxx",33); };}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/17562.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

酒店提前线上订房小程序源码系统 PHP+MySQL组合开发 源码开源可二开 带完整的安装代码包以及搭建教程

系统概述 随着移动互联网的普及,越来越多的人习惯通过手机进行酒店预订。传统的线下订房方式逐渐无法满足用户的需求,酒店提前线上订房小程序的出现成为必然趋势。该源码系统的开发旨在为酒店提供一个便捷、高效的线上订房平台,提升用户体验…

基于微信小程序+ JAVA后端实现的【医院挂号预约系统】 设计与实现 (内附设计LW + PPT+ 源码+ 演示视频 下载)

项目名称 项目名称: 《基于微信小程序的医院挂号预约系统设计与实现》 项目技术栈 该项目采用了以下核心技术栈: 后端框架/库: Java, SSM框架数据库: MySQL前端技术: 微信小程序, uni-app 项目展示 全文概括 本…

设置单群聊消息扩展

根据消息 ID ,对单聊会话或群聊会话中已经发送的消息设置扩展信息。每次最多可以设置 100 个扩展属性信息,最多可设置 300 个。 通过 Server API 操作消息扩展,默认不会向操作者的客户端同步,会导致扩展信息不一致。如有需要&…

MySQL触发器实战:自动执行的秘密

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 MySQL触发器实战:自动执行的秘密 前言触发器的定义和作用触发器的定义和作用触发器的…

大模型领域新闻跟踪

杨值麟 月之暗面杨植麟:大模型开发是“承包森林”月之暗面集结最强创投,“清华师姐”是最强“助攻”月之暗面杨植麟:互联网研发是“种树”,大模型研发是“承包森林”月之暗面杨植麟复盘大模型创业这一年:向延绵而未知…

搜维尔科技:穿上Xsens Link动作捕捉套装,进行精准的运动捕捉

穿上Xsens Link动作捕捉套装,进行精准的运动捕捉 搜维尔科技:穿上Xsens Link动作捕捉套装,进行精准的运动捕捉

vue 笔记01

目录 01 vuejs中属性的基本使用 02 v-show指令的使用 03 v-if 指令的使用 04 v-for指令的使用 05 v-model 指令 06 template模板标签 07 v-on事件的绑定指令 08 事件中的event对象 01 vuejs中属性的基本使用 {{ }} 叫做mustache模板语法 双花括号 小胡子语法 双花括号…

安卓手机APP开发__构建通话应用

安卓手机APP开发__构建通话应用 目录 概述 依赖项和权限 注册应用 平台集成 注册通话 添加通话 接听来电 拒接来电 去电 将通话置于保持状态 断开连接 转接音频 前台支持 Surface 支持 概述 使用 Telecom Jetpack 库为用户提供最佳视频和音频体验。借助 Teleco…

GO语言 linux部署

https://blog.csdn.net/wangye135/article/details/136177171 一、简述 1. 可以直接在服务器上运行编译好的二进制文件,不需要在服务器上下载语言环境。 2. 内置运行时环境:可执行文件中内置了运行时环境,包括垃圾回收、调度器等&#xff…

Java深拷贝浅拷贝

在Java中,深拷贝和浅拷贝是两种不同的对象复制方式。 浅拷贝:创建一个新对象,然后将原对象的非静态字段复制到新对象中。如果字段是值类型的,那么对该字段执行逐位复制。如果字段是引用类型的,则复制引用但不复制引用的…

SAP 根据报错消息号快速定位问题

通常用户在业务的操作过程中,经常会遇到报错信息,有些报错是系统控制抛出的信息,但是有些报错的信息是根据不同地点业务场景对填写的数据进行判断校验,然后给出的报错信息,正常情况报错信息一般是有文本,或…

【C语言】文件操作讲解

C语言文件操作讲解 文件文件名文件类型数据在内存中的存储 文件缓冲区文件指针文件的打开与关闭fopenfclosefopen与fclose的使用文件的打开方式 文件的顺序读写fputcfgetcfputsfgetsfprintffscanffwritefread输入流与输出流对比scanf\fscanf\sscanf与printf\fprintf\sprintfssc…

【区分vue2和vue3下的elementUI和elementUI Plus的button组件,介绍如何安装,属性,事件,方法等以及使用案例】

区分vue2下的Element UI和vue3下的Element Plus的Button组件 Element UI (vue2) Button组件:基于Vue 2的Element UI库中的Button组件提供了多种样式和类型,如默认、主要、成功、警告、危险等。 Element Plus (vue3) Button组件:作为Element …

汇编原理(二)寄存器——内存访问

一个字 两个字节 双字 字节为8位 字为16位(看两格) 双子dword32位(看四格) 内存中字的存储: 0地址单元中存放的字节型数据是多少? 0地址字单元中存放的字型数据是多少? 2地址字单元中存放…

Secure Operation

文章目录 Secure Summation OperationSecure Set Union Operation Secure Summation Operation 让我们通过一个具体的例子来说明这个算法。 假设有三个数据拥有者 S1, S2 和 S3,他们分别持有以下值: S1 持有 value1 10S2 持有 value2 20S3 持有 val…

基坑气膜:建筑工地环保新利器—轻空间

随着城市化进程的加快,建筑行业的飞速发展带来了严重的环境问题,如噪音和粉尘污染,给人们的生活带来诸多不便。为了解决这些问题,建筑行业一直在探索更为环保和高效的施工方式。近年来,基坑气膜技术逐渐崭露头角&#…

Audition 2024 for Mac/Win:音频录制与编辑的卓越之选

随着数字媒体的不断发展,音频内容创作已经成为各行各业中不可或缺的一部分。无论是音乐制作、广播节目、播客录制还是影视配音,都需要高品质的音频录制和编辑工具来实现专业水准的作品。在这个充满竞争的时代,要想在音频创作领域脱颖而出&…

解线性方程组——最速下降法及图形化表示 | 北太天元 or matlab

一、思路转变 A为对称正定矩阵, A x b Ax b Axb 求解向量 x x x这个问题可以转化为一个求 f ( x ) f(x) f(x)极小值点的问题,为什么可以这样: f ( x ) 1 2 x T A x − x T b c f(x) \frac{1}{2}x^TAx - x^Tb c f(x)21​xTAx−xTbc 可…

ZooKeeper安装

安装Zookeeper 1、下载Zookeeper安装包 打开链接选择一个版本进行下载 https://zookeeper.apache.org/releases.html2、上传Zookeeper安装包到集群 输入命令 scp apache-zookeeper-3.8.4-bin.tar.gz hadoop192.168.88.100:/tmp也可以使用xftp等上传,物理机用u盘…

Python 网格变换之平移、旋转、缩放、变换矩阵

网格变换 一、平移1.1、代码示例1.2、结果示例二、旋转2.1、代码示例2.2、结果示例三、缩放3.1、代码示例3.2、结果示例四、变换矩阵4.1、代码示例4.2、结果示例一、平移 网格平移:将网格沿着特定的方向移动一段距离。 1.1、代码示例