定义Java的三元函数

本文介绍了如何在Java中定义三元函数,指出尽管Java标准库主要支持单参数和双参数的Function接口,但可以通过柯里化技术自定义多参数函数,特别是三元函数。通过示例代码展示了实现过程。
摘要由CSDN通过智能技术生成

java.util.function包Function家族很庞大,共25个函数接口。但是Java 库只提供单个参数和两个参数的函数映射接口。如果需要更多参数,如三元函数,可以自己编写,还可以采用柯里化技术先获得BiFunction对象。

package chap2.closure.currying;
import java.util.function.BiFunction;

/**
 * 三元函数
 * 
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public interface TernaryFunction<T,U,V,R>{
    R apply(T t,U u,V v);
    
    default public  BiFunction<T,U,R> get(V v){
        return (t,u)->this.apply(t,u,v);
    }
}

如上,定义多少元的函数都是非常简单地事情。只要n-1元的函数存在,也可以方便地编写降低一元的柯里化函数。

测试代码如下:

package chap2.closure.currying;
import java.util.function.Function;
import java.util.function.BiFunction;
import static yqj2065.util.Print.*;

/**
 * Write a description of class Deme here.
 *
 * @author yqj2065
 * @version (a version number or a date)
 */
public class Deme{
    public static int add(int x,int y){return x+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值