在Java中如何使用lambda和方法参考来实现LongBinaryOperator?
LongBinaryOperator是java.util.function包中函数接口的一部分。此函数接口需要两个Long类型的参数作为输入,并生成Long类型的结果。LongBinaryOperator接口可以用作lambda表达式或方法引用的赋值目标。它只包含一个抽象方法applyAsLong()。
语法
@FunctionalInterface
public interface LongBinaryOperator {
long applyAsLong(long left, long right)
}Lambda表达式示例
import java.util.function.LongBinaryOperator;
public class LongBinaryOperatorTest1 {
public static void main(String[] args) {
LongBinaryOperator multiply = (a,b) -> { // lambda 表达式
return a*b;
};
long a = 10;
long b = 20;
long result = multiply.applyAsLong(a,b);
System.out.println("a*b等于: " + result);
a = 20;
b = 30;
System.out.println("a*b等于: " + multiply.applyAsLong(a,b));
a = 30;
b = 40;
System.out.println("a*b等于: " + multiply.applyAsLong(a,b));
}
}输出结果
a*b等于: 200 a*b等于: 600 a*b等于: 1200
方法引用示例
import java.util.function.LongBinaryOperator;
public class LongBinaryOperatorTest2 {
public static void main(String[] args) {
LongBinaryOperatorTest2 instance = new LongBinaryOperatorTest2();
LongBinaryOperator test = instance::print; //方法引用
System.out.println("l1和l2之和: " + test.applyAsLong(50, 70));
}
long print(long l1, long l2) {
return l1+l2;
}
}输出结果
l1和l2之和: 120