Java 8 BiPredicate Interface
7 years ago Lalit Bhagtani 0
In this tutorial, we will learn about Java 8 BiPredicate interface.
BiPredicate Interface :-
BiPredicate ( java.util.function.BiPredicate ) is a functional interface that has one abstract method and three default method declared in it.
Abstract method :-
boolean test ( T t, U u ) :- The abstract method test ( T t, U u ) is a functional method. It accepts two parameter as an argument and return boolean value. It represents a conditional operation, where one passed argument is tested against a specific value or against a second passed argument to give a boolean ( True or False ) result.
Default method :-
- default BiPredicate<T> and ( BiPredicate <? super T, ? super U> other ) :- It returns a biPredicate that represents short circuiting logical AND of this biPredicate ( biPredicate on which method is called ) and another ( passed as an argument ).
- default BiPredicate<T> or ( BiPredicate <? super T, ? super U > other ) :- It returns a biPredicate that represents short circuiting logical OR of this biPredicate ( biPredicate on which method is called ) and another ( passed as an argument ).
- default BiPredicate<T> negate ( ) :- It returns a biPredicate that represents logical negation of this biPredicate ( biPredicate on which method is called ).
Reference :- BiPredicate Interface JavaDocs
Example – 1 :-
This example will show you, how to create and call different methods of a biPredicate interface.
Employee ( POJO ) :- Used in our example.
public class Employee { private long empId; private String name; private int age; private String designation; public Employee(long empId, String name, int age, String designation) { super(); this.empId = empId; this.name = name; this.age = age; this.designation = designation; } public long getEmpId() { return empId; } public void setEmpId(long empId) { this.empId = empId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getDesignation() { return designation; } public void setDesignation(String designation) { this.designation = designation; } }
Main method :- This method has bipredicate example.
public static void main(String[] args){ Employee emp = new Employee(1,"Robert",35,"Manager"); BiPredicate<Employee,String> biPredicate1 = ( x , y ) -> { if( x.getDesignation().equalsIgnoreCase(y)){ return true; }else{ return false; }}; // Example of test method boolean result = biPredicate1.test(emp,"Manager"); System.out.println(result); // Example of negate method boolean result3 = (biPredicate1.negate()).test(emp,"Manager"); System.out.println(result3); BiPredicate<Employee,String> biPredicate2 = ( x , y ) -> { if( x.getDesignation().equalsIgnoreCase(y)){ return true; }else{ return false; }}; // Example of and method boolean result1 = biPredicate1.and(biPredicate2).test(emp,"Manager"); System.out.println(result1); // Example of or method boolean result2 = biPredicate1.or(biPredicate2).test(emp,"General Manager"); System.out.println(result2); }
Result :-
true false true false
That’s all for Java 8 BiPredicate Interface. If you liked it, please share your thoughts in comments section and share it with others too.