What is the IntPredicate functional interface in Java?
IntPredicate is a functional interface, which accepts an integer value argument and returns a boolean value. This interface has the following methods:
test(int value)and(IntPredicate other)negate()or(IntPredicate other)
The IntPredicate interface is defined in the java.util.function package. To import the IntPredicate interface, we will check the following import statement:
import java.util.function.IntPredicate;
The test(int value) method
This method is used to test a given integer input on certain evaluations.
Syntax
boolean test(int value)
Parameters
int value: This is the integer input that needs to be evaluated.
Return value
This method returns the result of the evaluation, that is, either True or False.
Code
import java.util.function.IntPredicate;public class Main{public static void main(String[] args) {// IntPredicate to check if the integer argument is evenIntPredicate isEven = arg -> arg % 2 == 0;// test whether 4 is evenSystem.out.println(isEven.test(4));// test whether 3 is evenSystem.out.println(isEven.test(3));}}
The and(IntPredicate other) method
The and(IntPredicate other) method is used to chain multiple implementations of the IntPredicate together as a short-circuiting and logical AND operation. If any implementation returns False during the evaluation, then the subsequent implementations will not be invoked.
Syntax
default IntPredicate and(IntPredicate other)
Parameters
IntPredicate other: This is anIntPredicateinterface that needs to be evaluated.
Return value
This method returns a composed predicate.
Code
import java.util.function.IntPredicate;;public class Main{public static void main(String[] args) {// IntPredicate to check if the int valued argument is evenIntPredicate isEven = arg -> arg % 2 == 0;// IntPredicate to check if the int valued argument is less than 100IntPredicate isLessThanHundred = arg -> arg < 100;// Composed IntPredicateIntPredicate composedPredicate = isEven.and(isLessThanHundred);// test whether 4 is even and less than 100System.out.println(composedPredicate.test(4));// test whether 103 is even and less than 100System.out.println(composedPredicate.test(103));}}
The negate() method
The negate() method is used to return an IntPredicate, which is a negation of the given IntPredicate.
Syntax
default IntPredicate negate()
Parameters
This method takes no parameters.
Return value
This method returns a predicate.
Code
import java.util.function.IntPredicate;;public class Main{public static void main(String[] args) {// IntPredicate to check if the int valued argument is evenIntPredicate isEven = arg -> arg % 2 == 0;// IntPredicate to get the Opposite of even using the negate methodIntPredicate isEvenNegate = isEven.negate();// test negation on 4System.out.println(isEvenNegate.test(4));// test negation on 3System.out.println(isEvenNegate.test(3));}}
The or(IntPredicate other) method
The or(IntPredicate other) method is used to chain multiple implementations of the IntPredicate interface together as a short-circuiting and logical OR operation. If any implementation returns True during the evaluation, then the subsequent implementations will not be invoked.
Syntax
default IntPredicate or(IntPredicate other)
Parameters
IntPredicate other: This is anIntPredicateinterface that needs to be evaluated.
Return value
This method returns a composed predicate.
Code
import java.util.function.IntPredicate;;public class Main{public static void main(String[] args) {// IntPredicate to check if the int valued argument is evenIntPredicate isEven = arg -> arg % 2 == 0;// IntPredicate to check if the int valued argument is less than 100IntPredicate isLessThanHundred = arg -> arg < 100;// Composed IntPredicateIntPredicate composedPredicate = isEven.or(isLessThanHundred);// test whether 4 is even and less than 100System.out.println(composedPredicate.test(4));// test whether 103 is even and less than 100System.out.println(composedPredicate.test(103));}}