「Java8」IntUnaryOperatorクラスとIntBinaryOperatorクラスで関数型インタフェースを実装するサンプル

説明
1.java.util.function.IntUnaryOperator
@FunctionalInterface
単一のint値オペランドに作用してint値の結果を生成する演算を表します。
これは、UnaryOperatorに対してプリミティブ型特殊化(int向け)を行ったものです。
2.java.util.function.IntBinaryOperator
@FunctionalInterface
2つのint値オペランドに作用してint値の結果を生成する演算を表します。
これは、BinaryOperatorに対してプリミティブ型特殊化(int向け)を行ったものです。
Javaコード

package com.arkgame.study.cft;

import java.util.function.IntBinaryOperator;
import java.util.function.IntUnaryOperator;

public class IntUnaryOpDemo {

      public static void main(String[] args) {

            // 引数が1つ
            int resA = interMethod(5);
            System.out.println("引数が1つの計算結果(IntUnaryOperator): " + resA);

            // 引数が2つ
            int resB = interMethod2(5, 6);
            System.out.println("引数が2つの計算結果(IntBinaryOperator): " + resB);

      }

      // 引数が1つ IntUnaryOperator
      public static int interMethod(int n) {
            IntUnaryOperator iuOp = a -> a * a;
            int result = iuOp.applyAsInt(n);
            return result;

      }

      // 引数が2つ IntBinaryOperator
      public static int interMethod2(int m, int n) {
            IntBinaryOperator ibO = (x, y) -> x * y;
            int result = ibO.applyAsInt(m, n);
            return result;

      }
}

結果
引数が1つの計算結果(IntUnaryOperator): 25
引数が2つの計算結果(IntBinaryOperator): 30

Java

Posted by arkgame