OnJava8-Examples/functional/CurryingAndPartialFunctionApplication.java

26 lines
892 B
Java
Raw Normal View History

2015-11-14 16:18:05 -08:00
// functional/CurryingAndPartialFunctionApplication.java
// <20>2016 MindView LLC: see Copyright.txt
2015-11-15 15:51:35 -08:00
// We make no guarantees that this code is fit for any purpose.
// Visit http://mindviewinc.com/Books/OnJava/ for more book information.
2015-11-14 16:18:05 -08:00
import java.util.function.*;
public class CurryingAndPartialFunctionApplication
{
public static void main(String[] args)
{
IntBinaryOperator simpleAdd = (a, b) -> a + b;
IntFunction<IntUnaryOperator> curriedAdd = a -> b -> a + b;
// Demonstrating simple add:
System.out.println(simpleAdd.applyAsInt(4, 5));
// Demonstrating curried add:
System.out.println(curriedAdd.apply(4).applyAsInt(5));
// Curried version lets you perform partial application:
IntUnaryOperator adder5 = curriedAdd.apply(5);
System.out.println(adder5.applyAsInt(4));
System.out.println(adder5.applyAsInt(6));
}
}