【JDK 8-函数式编程】4.2 BiFunction

news2024/11/24 6:39:04

一、BiFunction

二、改造上节课:四则运算


一、BiFunction

  • Function 只能接收一个参数要传递两个参数,则用 BiFunction

  • 两个参数:可以是两种不同数据类型

  • 调用方法:   R apply(T t, U u);

import java.util.Objects;

/**
 * @param <T> the type of the first argument to the function
 * @param <U> the type of the second argument to the function
 * @param <R> the type of the result of the function
 */
@FunctionalInterface
public interface BiFunction<T, U, R> {

    R apply(T t, U u);

}

二、改造上节课:四则运算

import lombok.extern.slf4j.Slf4j;

import java.util.function.BiFunction;

@Slf4j
public class BiFunc {
    public static void main(String[] args) {
        int a = 20;
        Float b = 5.0f;
        log.info("{} + {} = {}", a, b, operation(a, b, (x, y) -> x + y));
        //log.info("{} + {} = {}", a, b, operation(a, b, Float::sum));
        log.info("{} - {} = {}", a, b, operation(a, b, (x, y) -> x - y));
        log.info("{} X {} = {}", a, b, operation(a, b, (x, y) -> x * y));
        log.info("{} / {} = {}", a, b, operation(a, b, (x, y) -> x / y));
    }

    public static Float operation(Integer x, Float y, BiFunction<Integer, Float, Float> of) {
        return of.apply(x, y);
    }
}

运行结果

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

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

相关文章

无涯教程-JavaScript - GCD函数

描述 GCD函数返回两个或多个整数的最大公约数。最大公约数是将number1和number2均除而无余数的最大整数。 语法 GCD (number1, [number2] ...)争论 Argument描述Required/OptionalNumber11 to 255 values. If any value is not an integer, it is truncated.Requirednumber…

颠覆传统!老子云支持70+三维格式转换,在线即可一键处理!

老子云自研AMRT展示框架及三维格式具有广泛兼容性&#xff0c;同时还会用户提供了3D格式在线转换工具&#xff0c;支持实现70三维格式模型的快速处理和转换。 你是不是也遇到过这种情况&#xff1a;做了半天的3D模型图&#xff0c;好不容易弄好了&#xff0c;到最后插入的时候居…

win11 腾讯会议提示未检测到可用麦克风

平时都用的耳机&#xff0c;今天直接用笔记本的音频进行会议&#xff0c;发现提示&#xff1a;显示未检测到可用麦克风&#xff0c;请插入设备重试&#xff1b;很奇怪的设置了腾讯会议的音频和电脑的&#xff0c;发现电脑的显示无可用的音频输入设备&#xff0c;折腾一番&#…

PYTHON第一次

1. 输入三个整数&#xff0c;按降序输出 a int(input("请输入第一个整数&#xff1a;")) b int(input("请输入第二个整数&#xff1a;")) c int(input("请输入第三个整数&#xff1a;"))nums [a, b, c] nums.sort(reverseTrue)print("…

mysql某批量更新导致死锁

#查询当前数据库全部线程show full processlist #查询当前运行的全部事务select * from information_schema.innodb_trx#查询锁情况select * from information_schema.innodb_locks#查询锁等待情况select * from information_schema.innodb_lock_waits #查看mysql设置等待锁时长…

《golang设计模式》第二部分·结构型模式-06-享元模式(Flyweight)

文章目录 1. 概述1.1角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图示例 1. 概述 享元&#xff08;Flyweight&#xff09;模式采用共享方式向客户端提供数量庞大的细粒度对象。 所谓细粒度对象&#xff0c;是指实现了业务细节并相互独立的对象。细粒度对象是一种相对概念&…

2023年中秋·国庆节放假通知

放假期间如有业务、技术及其他相关需求&#xff0c;欢迎新老客户前来咨询&#xff01;放假期间如给您带来不便敬请谅解! 注意事项 1、放假离开公司前须全面清扫所属办公区域的卫生&#xff0c;收拾好桌面、保管好个人办公物品&#xff1b; 2、关闭个人电脑等办公设备的电源&a…

MySQL DDL操作触发Metadata Lock等待,怎么办?5个高效应对策略解析!

大家好&#xff0c;我是小米&#xff0c;一个热衷于技术分享的程序员。上周三&#xff0c;有一位童鞋在 QQ 群里向我请教了一个关于“alter table 触发metadata lock一直等待”的问题&#xff0c;在今天的文章中&#xff0c;我将与大家分享一些关于MySQL数据库DDL操作中触发Met…

再获认可丨聚焦云计算标准和应用大会,畅谈边缘AI的探索实践

2023年9月13日&#xff0c;中国电子技术标准化研究院主办的第十二届云计算标准和应用大会在北京成功召开。本次大会以“标准筑基 数智创新 云端赋能 合作共赢”为主题&#xff0c;汇聚政产学研用各方专家学者&#xff0c;共享和探讨云计算标准化工作的重要进展以及云计算产业发…

实现可观测性平台的技术要点是什么?

文章目录 实现可观测性平台的技术要点是什么?兼容全域信号量所谓全域信号量有哪些&#xff1f;统一采集和上传工具统一的存储后台自由探索和综合使用数据总结 实现可观测性平台的技术要点是什么? 随着可观测性理念的深入人心&#xff0c;可观测性平台已经开始进入了落地阶段…

RecyclerView滑动时添加缩放效果

最近看到一个动画效果&#xff0c;感觉不错&#xff0c;所以动手试一试 我实现的效果 基本上是已经实现了头像无限滚动中itemview也伴随缩放效果 初步实现基本思路&#xff1a; 1、没选择用ViewPager&#xff0c;考虑到特定几张图片的循环显示和扩展我使用recyclerview 2、头…

lv5 嵌入式开发-2 exec函数族

目录 1 进程 – exec函数族 1.1 exec函数族特点 1.2 进程 – execl / execlp使用方法 1.3 进程 – execv / execvp 2 进程 – system 3 exec族要点演示 掌握&#xff1a;exec函数族、system 1 进程 – exec函数族 执行程序&#xff0c;通孔ps -elf发现&#xff0c;父进…

springcloud3 分布式事务-产生原因的模拟1

一 分布式事务 1.1 分布式事务产生条件 分布式事务&#xff0c;就是指不是在单个服务或单个数据库架构下&#xff0c;产生的事务&#xff0c;例如&#xff1a; 1.跨数据源的分布式事务 2.跨服务的分布式事务 3.综合情况 二 案例操作 2.1 原理架构 订单的创建、库存的扣…

1万多关数独逻辑游戏ACCESS\EXCEL数据库

数独盘面是个九宫&#xff0c;每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件&#xff0c;利用逻辑和推理&#xff0c;在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次&#xff0c;所以又称“九宫格”。 每一关存储了8…

【树】B树与B+树

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

计算机视觉与深度学习-经典网络解析-VGG-[北邮鲁鹏]

目录标题 VGG参考VGG网络贡献使用尺寸更小的$3 \times 3$卷积串联来获得更大的感受野放弃使用$11 \times 11$和$5 \times 5$这样的大尺寸卷积核深度更深、非线性更强&#xff0c;网络的参数也更少&#xff1b;去掉了AlexNet中的局部响应归一化层(LRN)层。 网络结构主要改进输入…

车辆检测:An Efficient Wide-Range Pseudo-3D Vehicle Detection Using A Single Camera

论文作者&#xff1a;Zhupeng Ye,Yinqi Li,Zejian Yuan 作者单位&#xff1a;Xian Jiaotong University 论文链接&#xff1a;http://arxiv.org/abs/2309.08369v1 项目链接&#xff1a;https://www.youtube.com/watch?v1gk1PmsQ5Q8 内容简介&#xff1a; 1&#xff09;方…

GE D20 EME 10BASE-T 控制主板模块

GE D20 EME 控制主板模块通常用于工业自动化和控制系统中&#xff0c;特别是在需要网络连接和通信功能的应用领域。以下是一些可能适用于该模块的应用领域&#xff1a; 工业自动化&#xff1a;GE D20 EME 控制主板模块可用于各种工业自动化应用&#xff0c;包括生产线控制、设备…

【前端知识】Three 学习日志(七)—— 动画渲染循环

Three 学习日志&#xff08;七&#xff09;—— 动画渲染循环 一、旋转动画 // 渲染函数 function render() {renderer.render(scene, camera); //执行渲染操作mesh.rotateY(0.01);//每次绕y轴旋转0.01弧度requestAnimationFrame(render);//请求再次执行渲染函数render&#…

【LQR】离散代数黎卡提方程的求解,附Matlab/python代码(笔记)

LQR的核心是设计QRN&#xff0c;并求解对应的黎卡提方程 对于连续状态空间方程系统&#xff0c;先求连续LQR后离散 和 先离散后求离散LQR方程 的结果 是不一样的 1.离散代数黎卡提方程 注&#xff1a;LQR算法中含N项 离散系统&#xff1a; 在matlab里有现成的函数dlqr()&…