Java8 - 数字二进制接口实例 | 功能接口教程

149 阅读1分钟

在这篇博文中,我们将通过实例来学习java8中的Numeric BinaryOperators 类。

什么是二进制运算符?

二进制运算符是指接受两个原始类型的参数并输出相同的原始类型值的运算符。

Numeric BinaryOperators 在 包中声明。每个数字原始类型如long、int和double都有二进制运算符。java.util.function

Java8有以下数字二进制运算符

  • DoubleBinaryOperator
  • 英特二进制运算符
  • LongBinaryOperator

java中的DoubleBinaryOperator类

它是一个功能接口,将两个二进制值作为输入和输出二进制值。

它是BinaryOperator 的双倍版本。

它有一个抽象的方法--applyAsDouble(T, V) ,其中T和V是两个输入参数,并返回双倍的结果。

使用Lambda表达式和方法参考示例

下面的代码展示了DoubleBinaryOperator与lambda/Method reference的用法

package org.cloudhadoop.functions;
import java.util.function.DoubleBinaryOperator;
public class MyDoubleBinaryOperatorExample {
    public static double mutiply(double d1, double d2) {
        return d1 * d2;
    }
    public static void main(String[] args) {

        // Using Lambda Expression
        DoubleBinaryOperator lamdaExample = (v1, v2) -> MyDoubleBinaryOperatorExample.mutiply(v1, v2);
        System.out.println(lamdaExample.applyAsDouble(5, 7));
        // Using Method reference
        DoubleBinaryOperator methodRefExample = MyDoubleBinaryOperatorExample::mutiply;
        System.out.println(methodRefExample.applyAsDouble(35, 2));
    }
}

输出

35.0  
70.0  

java中的IntBinaryOperator类

它是java.util.function 中定义的Integer版本的BinaryOperator 。它接受两个整数值作为输入,只输出整数。

它只有一个抽象的applyAsInt() 方法。

下面是一个IntBinaryOperator的例子

import java.util.function.IntBinaryOperator;

public class Test {
    public static void main(String[] args)  throws Exception{
        IntBinaryOperator sumOperator= (p, q) -> p + q;
        System.out.println(sumOperator.applyAsInt(35, 41));
    }
}

输出

76  

java中的LongBinaryOperator类

它是java.util.function 中定义的BinaryOperator 的一个长版本。这是一个将两个长值作为输入并产生一个长输出的操作。它只有一个抽象的applyAsLong() 方法。

下面是一个LongBinaryOperator的例子

LongBinaryOperator sumOperator= (p, q) -> p + q;  
        System.out.println(sumOperator.applyAsLong(15, 25));  

上述代码执行的输出是

40

总结

在这篇文章中,通过实例学习了数字二进制运算器