如何在 Java 中使用 UnaryOperator在 lambda 表达式中的接口吗?


UnaryOperator<T> 是扩展了 Function 接口的函数接口。它表示一个接受参数并返回与其输入参数相同类型结果的操作。Function 接口中的 apply() 方法以及 默认方法andThen()compose() 被继承自 UnaryOperator 接口。lambda 表达式方法引用可以使用 UnaryOperator 对象作为其目标

语法

@FunctionalInterface
public interface UnaryOperator<T> extends Function<T, T>

示例 1

import java.util.function.UnaryOperator;

public class UnaryOperatorTest1 {
   public static void main(String[] args) {
      UnaryOperator<Integer> operator = t -> t * 2;   // lambda expression
      System.out.println(operator.apply(5));
      System.out.println(operator.apply(7));
      System.out.println(operator.apply(12));
   }
}

输出

10
14
24

示例 2

import java.util.function.UnaryOperator;

public class UnaryOperatorTest2 {
   public static void main(String[] args) {
      UnaryOperator<Integer> operator1 = t -> t + 5;
      UnaryOperator<Integer> operator2 = t -> t * 5;
      // Using andThen() method
      int a = operator1.andThen(operator2).apply(5);
      System.out.println(a);
      // Using compose() method
      int b = operator1.compose(operator2).apply(5);
      System.out.println(b);
   }
}

输出

50
30

更新于: 2020 年 7 月 13 日

974 次浏览

提升您的 职业生涯

完成课程获得认证

开始
广告