The DoublePredicate interface was introduced in JDK 8. This interface is packaged in java.util.function package. It operates on a Double object and returns a predicate value based on a condition. It is a functional interface and thus can be used in lambda expression also.
public interface DoublePredicate
Methods
- test(): This function evaluates a conditional check on the double value, and returns a boolean value denoting the outcome.
boolean test(double value)
- and(): This function applies the AND operation on the current object and the object received as argument, and returns the newly formed predicate. This method has a default implementation.
default DoublePredicate and(DoublePredicate other)
- negate(): This function returns the inverse of the current predicate i.e reverses the test condition. This method has a default implementation.
default DoublePredicate negate()
- or(): This function applies the OR operation on the current object and the object received as argument, and returns the newly formed predicate. This method has a default implementation.
default DoublePredicate or(DoublePredicate other)
Example:
Java
// Java example to demonstrate DoublePredicate interface import java.util.function.DoublePredicate; public class DoublePredicateDemo { public static void main(String[] args) { // DoublePredicate to check square // of x is less than 100 DoublePredicate db = (x) -> { return x * x < 100.0 ; }; System.out.println( "100 is less than 100 " + db.test( 10 )); DoublePredicate db3; // Test condition reversed db.negate(); System.out.println( "100 is greater than 100 " + db.test( 10 )); DoublePredicate db2 = (x) -> { double y = x * x; return y >= 36 && y < 1000 ; }; // Test condition ANDed // with another predicate db3 = db.and(db2); System.out.println( "81 is less than 100 " + db3.test( 9 )); db3 = db.or(db2); // Test condition ORed with another predicate System.out.println( "49 is greater than 36" + " and less than 100 " + db3.test( 7 )); } } |
100 is less than 100 false 100 is greater than 100 false 81 is less than 100 true 49 is greater than 36 and less than 100 true
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/function/DoublePredicate.html