Java8 - Numeric BinaryOperator interface examples | Functional Interfaces tutorials


In my previous post, discussed BinaryOperator tutorials with examples

Numeric BinaryOperators are declared in java.util.function package. Each numeric primitive types like long, int and double have binary operators. Binary Operators are operators that take two parameters of primitive type and outputs the same primitive type values

DoubleBinaryOperator 

It is a functional interface that takes two double values as input and output double value. It is a double version of BinaryOperator. It has a single abstract method - applyAsDouble(T, V) T and V are two input parameters and return the result of double.

Lambda Expression and Method reference example 

The below code showcase the usage of DoubleBinaryOperator with 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  

IntBinaryOperator

It is Integer version of BinaryOperator defined in java.util.function, which takes two integer values as input and output integer-only. It has only one abstract applyAsInt() method.

Example

IntBinaryOperator sumOperator= (p, q) -> p + q;  
System.out.println(sumOperator.applyAsInt(35, 41));  

Output is

76  

LongBinaryOperator

It is a long version of BinaryOperator defined in java.util.function. This is an operation takes two long values as input and produces an output of long. It has only one abstract applyAsLong() method.

Example

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

The output of the above code execution is

40
Similar Posts