Java- 常用的函数式接口

本文介绍了Java中的Function、BiFunction、Supplier、Consumer、Predicate和UnaryOperator/BinaryOperator函数式接口,展示了如何使用Lambda表达式和方法引用实现函数式编程,以简化代码并处理不同类型的操作。
摘要由CSDN通过智能技术生成

在Java中,FunctionBiFunctionSupplier 是一些常用的函数式接口,用于表示不同类型的函数。下面是对它们的介绍以及一些其他相关的函数式接口:

  1. Function 接口:

    • 描述: 接受一个参数,返回一个结果。
    • 方法: apply(T t),接受一个输入参数并返回一个结果。
    • 示例:
      Function<String, Integer> strLength = s -> s.length();
      int length = strLength.apply("Hello"); // 返回 5
      
  2. BiFunction 接口:

    • 描述: 接受两个参数,返回一个结果。
    • 方法: apply(T t, U u),接受两个输入参数并返回一个结果。
    • 示例:
      BiFunction<Integer, Integer, Integer> add = (a, b) -> a + b;
      int result = add.apply(3, 5); // 返回 8
      
  3. Supplier 接口:

    • 描述: 不接受任何参数,返回一个结果。常用于生成或提供数据。
    • 方法: get(),返回一个结果。
    • 示例:
      Supplier<Double> randomValue = () -> Math.random();
      double value = randomValue.get(); // 返回一个随机数
      
  4. Consumer 接口:

    • 描述: 接受一个参数,但没有返回值。常用于对输入进行消费操作。
    • 方法: accept(T t),接受一个输入参数。
    • 示例:
      Consumer<String> printUpperCase = s -> System.out.println(s.toUpperCase());
      printUpperCase.accept("hello"); // 输出 "HELLO"
      
  5. Predicate 接口:

    • 描述: 接受一个参数,返回一个 boolean 值。常用于进行条件判断。
    • 方法: test(T t),对给定的输入值进行判断。
    • 示例:
      Predicate<Integer> isEven = n -> n % 2 == 0;
      boolean result = isEven.test(4); // 返回 true
      
  6. UnaryOperator 接口:

    • 描述: 继承自 Function 接口,接受一个参数,返回一个与参数类型相同的结果。
    • 方法: apply(T t),接受一个输入参数并返回一个结果。
    • 示例:
      UnaryOperator<Integer> square = x -> x * x;
      int result = square.apply(3); // 返回 9
      
  7. BinaryOperator 接口:

    • 描述: 继承自 BiFunction 接口,接受两个参数,返回一个与参数类型相同的结果。
    • 方法: apply(T t, U u),接受两个输入参数并返回一个结果。
    • 示例:
      BinaryOperator<Integer> add = (a, b) -> a + b;
      int result = add.apply(3, 5); // 返回 8
      

这些函数式接口使得在Java中更容易实现函数式编程的概念,通过Lambda表达式或方法引用,可以简洁地表示各种不同类型的函数。

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青衫客36

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值