Define
a Functional interface such that, it takes two input values and return true/false
after processing the inputs.
Application.java
BiObjectFunction.java
package com.sample.functional.interfaces; /** * Functional interface that accepts two object and compute the result by * processing these two objects. * * @author Krishna * * @param <T1> * First value type * * @param <T2> * Second value type */ public interface BiObjectFunction<T1, T2> { /** * Calculate the value by processing two input arguments. * * @param object1 * First value * @param object2 * Second value * * @return true or false by processing arguments <code>object1</code>, * <code>object2</code> */ public boolean processInfo(T1 object1, T2 object2); }
Application.java
package com.sample.app; import com.sample.functional.interfaces.BiObjectFunction; public class Application { private static boolean getResult(BiObjectFunction<Integer, Integer> biObjFunction, int data1, int data2) { return biObjFunction.processInfo(data1, data2); } public static void main(String[] args) { int val1 = 10; int val2 = 20; boolean result1 = getResult((var1, var2) -> { return var1 > var2; }, 10, 20); boolean result2 = getResult((var1, var2) -> { return var1 < var2; }, 10, 20); boolean result3 = getResult((var1, var2) -> { return var1 == var2; }, 10, 20); boolean result4 = getResult((var1, var2) -> { return var1 != var2; }, 10, 20); System.out.println(String.format("is %d > %d, %b", val1, val2, result1)); System.out.println(String.format("is %d < %d, %b", val1, val2, result2)); System.out.println(String.format("is %d == %d, %b", val1, val2, result3)); System.out.println(String.format("is %d != %d, %b", val1, val2, result4)); } }
Output
is 10 > 20, false is 10 < 20, true is 10 == 20, false is 10 != 20, true
No comments:
Post a Comment