首页 > 编程语言 >Java8 Function 用法简介

Java8 Function 用法简介

时间:2022-11-28 20:01:41浏览次数:45  
标签:Function 简介 Java8 Numbers n1 Integer n2 public

public class FunctionTest {

    public static void main(String[] args) {
        Function<Numbers, Integer> test1 = i -> i.getN1() - i.getN2();
        Function<Numbers, Integer> test2 = i -> i.getN1() * i.getN2();

        System.out.println(calculate(test1, 5, 2));
        System.out.println(calculate(test2, 4, 8));
    }

    public static Integer calculate(Function<Numbers, Integer> test, Integer number1, Integer number2) {
        Numbers n = new Numbers();
        n.setN1(number1);
        n.setN2(number2);
        return test.apply(n);
    }
}

class Numbers {
    private Integer n1;
    private Integer n2;

    public Integer getN1() {
        return n1;
    }

    public void setN1(Integer n1) {
        this.n1 = n1;
    }

    public Integer getN2() {
        return n2;
    }

    public void setN2(Integer n2) {
        this.n2 = n2;
    }

}

1、Function<Numbers, Integer> test,相当于一个待实现的接口,告诉你入参是 Numbers 类型 (上例子中是一个自定义的实体类),出参是Integer 类型。然后业务逻辑是怎样,可以自己实现。
2、Function<Numbers, Integer> test1 = i -> i.getN1() - i.getN2(); 实现了Functoin 的接口,业务逻辑是 Numbers 类型的一个实例,它两个字段相减。
3、calculate(test1, 2, 2) 调用。
4、好处就是解耦业务逻辑。

 

标签:Function,简介,Java8,Numbers,n1,Integer,n2,public
From: https://www.cnblogs.com/jelly12345/p/16933428.html

相关文章

  • java8 成绩分数排名
    第一种是分数一样的排名不相同,排名不重复。分数为空的考生不参与排名,排在后面。第二种是分数一样排名相同,排名重复,但是会把位置占掉。(eg:1,2,2,2,2,6,7这种排名相同的情况......
  • Dapr 和 Azure Functions : Hello world
    本篇文章内容来自​​https://charliedigital.com/2021/07/01/dapr-and-azure-functions-part-1-hello-world/​​,是按这篇文章的操作记录。使用AzureFunctionsCoreTo......
  • .Net Excel操作之NPOI(一)简介
    一、NPOI简介 NPOI是一个开源项目,可以读/写xls,doc,ppt文件,有着广泛的应用。 使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office97-2003的文件,支持的文件......
  • VUE 简介
    VUE简介什么是VUE?一套用于构建用户界面的渐进式JS框架。把数据展现成用户界面渐进式:自底向上逐层应用简单应用:只需一个轻量小巧的核心库复杂应用:引入各式......
  • 4-Django简介
    一MVC与MTV模型1.1MVCWeb服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模......
  • 三. docker-compose 简介、基本命令及示例-1
    docker-compose使用简介、基于docker-compsoe实现Nginx+Java+Mysql服务部署docker-compose简介docker-compose项目是Docker官方的开源项目,负责实现对单机容器的快速编排,d......
  • Django-ORM简介
    DjangoORM目录DjangoORM字段的增删改查数据的增删改查创建表关系null#即对象关系模型#类——表#对象——记录#对象属性(值)——记录某个字段(值)#在models.py中写......
  • Cpp generic class and functions,declare in header file and implementation in cpp
    //Util.h#ifndef_Util_H_#define_Util_H_#include<iostream>#include<random>usingnamespacestd;template<classT>classUtil{public:random_dev......
  • MPA是什么意思?一MPA简介和MPA地位
    ​​MPA是什么意思?一MPA简介和MPA地位​​MPA是公共管理硕士(MasterofPublicAdministration)专业学位的英文简称,是以公共管理学科及其他相关学科为基础的研究......
  • SAP ABAP Function Module 的动态调用方式使用方式介绍试读版
    在本教程前面的步骤7,我们介绍了ABAPFunctionModule的基本使用方法:7.ABAPfunctionmodule的使用最近我的知识星球有朋友提问:大佬,我想问一下动态获取到物料主......