The LongPredicate interface was introduced in JDK 8. This interface is packaged in java.util.function package. It operates on a long value 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 LongPredicate
MethodsĀ
- test(): This function evaluates a conditional check on the long value, and returns a boolean value denoting the outcome.Ā
boolean test(long 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 LongPredicate and(LongPredicate other)
- negate(): This function returns the inverse of the current predicate i.e reverses the test condition. This method has a default implementation.Ā
default LongPredicate 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 LongPredicate or(LongPredicate other)
Example:Ā
Java
// Java example to demonstrate LongPredicate interface Ā
import java.util.function.LongPredicate; Ā
public class LongPredicateDemo { Ā Ā Ā Ā public static void main(String[] args) Ā Ā Ā Ā { Ā Ā Ā Ā Ā Ā Ā Ā // Predicate to check for equal to 500000 Ā Ā Ā Ā Ā Ā Ā Ā LongPredicate longPredicate = (x) -> Ā Ā Ā Ā Ā Ā Ā Ā { Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā return (x == 500000 ); Ā Ā Ā Ā Ā Ā Ā Ā }; Ā Ā Ā Ā Ā Ā Ā Ā System.out.println( "499999 is equal to 500000 " Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā + longPredicate.test( 499999 )); Ā
Ā Ā Ā Ā Ā Ā Ā Ā // Predicate to check for less than equal to 500000 Ā Ā Ā Ā Ā Ā Ā Ā LongPredicate longPredicate1 = (x) -> Ā Ā Ā Ā Ā Ā Ā Ā { Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā return (x <= 500000 ); Ā Ā Ā Ā Ā Ā Ā Ā }; Ā Ā Ā Ā Ā Ā Ā Ā System.out.println( "499999 is less than equal to 500000 " Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā + longPredicate1.test( 499999 )); Ā
Ā Ā Ā Ā Ā Ā Ā Ā // ANDing the two predicates Ā Ā Ā Ā Ā Ā Ā Ā LongPredicate longPredicate2 Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā = longPredicate.and(longPredicate1); Ā Ā Ā Ā Ā Ā Ā Ā System.out.println( "500000 is equal to 500000 " Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā + longPredicate2.test( 500000 )); Ā
Ā Ā Ā Ā Ā Ā Ā Ā // ORing the two predicates Ā Ā Ā Ā Ā Ā Ā Ā longPredicate2 = longPredicate.or(longPredicate1); Ā Ā Ā Ā Ā Ā Ā Ā System.out.println( "500001 is less than equal to 500000 " Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā + longPredicate2.test( 500001 )); Ā
Ā Ā Ā Ā Ā Ā Ā Ā // Negating the predicate Ā Ā Ā Ā Ā Ā Ā Ā longPredicate2 = longPredicate1.negate(); Ā Ā Ā Ā Ā Ā Ā Ā System.out.println( "499999 is greater than 500000 " Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā + longPredicate2.test( 499999 )); Ā Ā Ā Ā } } |
499999 is equal to 500000 false 499999 is less than equal to 500000 true 500000 is equal to 500000 true 500001 is less than equal to 500000 false 499999 is greater than 500000 false
Ā
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/function/LongPredicate.html
Ā