当前位置: 首页 > news >正文

Lambda标准格式

使用Lambda表达式做一个有参数有返回值的练习。
首先定义一个计算器接口。叫做Calculate接口,它里面有个抽象的计算方法叫做calc,可以计算两个整数的和
然后在测试类中,我们创建一个方法叫做invokeCalc,里面传递两个整数,再来传递一个Calculate接口,里面通过calculate中的方法calc,计算传过来两个整数的和。并把这个结果输出出来。并打印
定义计算器接口

package Demo09;/*
 *@author wanghongyuan
 *@Create 2021/1/7 23:11
 */
/*
   给定义一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相加得到和值

 */
public interface Calculator {
    // 定义一个计算两个int整数和的方法并返回结果
    public abstract int calc (int a,int b);

}

使用Lambda的标准格式调用定义的invokeCalc方法

package Demo09;/*
 *@author wanghongyuan
 *@Create 2021/1/7 23:07
 */
/*
    Lambda表达式有参有返回值的练习
    需求:
        给定义一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相加得到和值
        使用Lambda的标准格式调用invokeCalc方法,完成120和130的相加计算
 */
public class Demo01Calculator {
    public static void main(String[] args) {
        // 调用invokeCalc方法,方法的参数是一个接口,可以使用匿名内部类
        invokeCalc(12, 12, new Calculator() {
            @Override
            public int calc(int a, int b) {
                return a+b;
            }
        });

        // 使用Lambda表达式,简化匿名内部类的书写
        invokeCalc(120,130,(int a,int b)-> {
            return a+b;
        })
        ;

        // 再简化一下
        // 注意要省略的话{},分号,return必须一起省略
        invokeCalc(12,12,(a,b)-> a + b);
    }
    /*
        定义一个方法
        参数传递两个int类型的整数
        参数传递Calculator接口
        方法内部调用Calculator中的方法calc计算两个整数的和
     */
    public static void invokeCalc(int a , int b,Calculator c){
        int sum = c.calc(a,b);
        System.out.println(sum);
    }
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • File类的构造方法
  • 递归计算
  • 使用递归遍历目录
  • 对文本内容进行排序
  • 测试框架
  • 写个web自动化
  • 与全球外国人即时聊天的网站
  • 将GBK的文件转换成UTF-8的文件格式
  • 反序列化流de使用
  • 使用序列化和反序列化操作集合中的值
  • 接口的使用-常用的函数式接口举例
  • 学习个人项目课
  • 格式化打印信息,使用Consumer
  • predicate接口中的方法
  • Predicate练习
  • 【5+】跨webview多页面 触发事件(二)
  • Effective Java 笔记(一)
  • exif信息对照
  • express.js的介绍及使用
  • HashMap ConcurrentHashMap
  • Java编程基础24——递归练习
  • Leetcode 27 Remove Element
  • log4j2输出到kafka
  • Vue--数据传输
  • webpack+react项目初体验——记录我的webpack环境配置
  • 飞驰在Mesos的涡轮引擎上
  • 今年的LC3大会没了?
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • ​埃文科技受邀出席2024 “数据要素×”生态大会​
  • #define、const、typedef的差别
  • #Z2294. 打印树的直径
  • #单片机(TB6600驱动42步进电机)
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (02)Hive SQL编译成MapReduce任务的过程
  • (13):Silverlight 2 数据与通信之WebRequest
  • (zt)最盛行的警世狂言(爆笑)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (三)docker:Dockerfile构建容器运行jar包
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • .aanva
  • .net(C#)中String.Format如何使用
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • @Bean注解详解
  • @RequestBody与@ResponseBody的使用
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [3300万人的聊天室] 作为产品的上游公司该如何?
  • [C#]winform部署yolov9的onnx模型
  • [C#]winform制作圆形进度条好用的圆环圆形进度条控件和使用方法
  • [docker] Docker容器服务更新与发现之consul
  • [Erlang 0129] Erlang 杂记 VI 2014年10月28日
  • [Flex] PopUpButton系列 —— 控制弹出菜单的透明度、可用、可选择状态
  • [Kimi笔记]C# 中,public、private 和 internal 访问修饰符
  • [LLM]大模型八股知识点(一)
  • [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'XXX' 无效