Java8 自定义函数编程

1.创建自定义函数接口MyFunctionTest

package com.lyz.java8.customer.function;

/**
 * 自定义函数MyFunctionTest,提供handler接口, 传入的是T,返回的是R
 */
@FunctionalInterface
public interface MyFunctionTest<T, R> {
    
    /**
     * 传入T,返回R
     * @param t1
     * @param t2
     * @return R
     */
    R action(T t1, T t2);
    
}

 2.创建实体类

public class Student{
    
    private String name;
    private Integer age;
    
    public Student(String name, Integer age) {
        super();
        this.name = name;
        this.age = age;
    }
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    
    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }
    
}

 3.创建测试自定义函数编程类

/**
 * 测试自定义函数编程
 */
public class FunctionDemo {

    /**
     * 利用自定义函数编程计算x + y
     * @param x 第一个参数值x
     * @param y 第二个参数值y
     * @param myFunctionTest 自定义的函数接口
     * @return x + y
     */
    public Long getAdd(Long x, Long y, MyFunctionTest<Long, Long> myFunctionTest) {
        return myFunctionTest.action(x, y);
    }

    @Test
    public void testGetAdd() {
        Long result = getAdd(1L, 2L, (x, y) -> {
            return x + y;
        });
        System.out.println("计算得出的结果为:" + result);
    }
    
}

 

posted @ 2022-12-15 09:16  N神3  阅读(487)  评论(0编辑  收藏  举报