it编程 > 编程语言 > Java

java中Supplier、Function、BiFunction的区别及说明

15人参与 2026-04-30 Java

supplier、function、bifunction区别

在 java 中,supplier、function、bifunction 是 java.util.function 包下的三个核心函数式接口,它们的主要区别在于参数数量和返回值类型

1、supplier

示例:

import java.util.function.supplier;

public class supplierexample {
    public static void main(string[] args) {
        // 供应一个随机数
        supplier<integer> randomsupplier = () -> (int) (math.random() * 100);
        system.out.println(randomsupplier.get()); // 每次调用可能返回不同的值
    }
}

2、function<t, r>

示例:

import java.util.function.function;

public class functionexample {
    public static void main(string[] args) {
        // 将字符串转换为其长度
        function<string, integer> lengthfunction = s -> s.length();
        system.out.println(lengthfunction.apply("hello")); // 输出:5
    }
}

3、bifunction<t, u, r>

示例:

import java.util.function.bifunction;

public class bifunctionexample {
    public static void main(string[] args) {
        // 计算两个整数的和
        bifunction<integer, integer, integer> sumfunction = (a, b) -> a + b;
        system.out.println(sumfunction.apply(3, 5)); // 输出:8
    }
}

核心区别总结

接口参数数量返回值抽象方法签名
supplier0tt get()
function<t,r>1 (t)rr apply(t t)
bifunction<t,u,r>2 (t, u)rr apply(t t, u u)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

您想发表意见!!点此发布评论

推荐阅读

Cursor IDE中SpringBoot项目启动内存不足问题的解决方案

04-30

使用Java将海量扁平数据高效转化为类目字典树

04-30

spring boot 异步线程池的使用详解

04-30

在SpringBoot项目中正确实现顺序消费的方法示例

04-30

Java8中Function函数式接口用法及说明

04-30

Java的Function接口与andThen组合及解读

04-30

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论