「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