如何在 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 次瀏覽

提升您的 職業生涯

完成課程獲得認證

開始
廣告