📜  Java .util。 Java中的函数.BiPredicate接口与示例

📅  最后修改于: 2022-05-13 01:55:23.963000             🧑  作者: Mango

Java .util。 Java中的函数.BiPredicate接口与示例

BiPredicate接口是在JDK 8中引入的。该接口封装在Java.util 中。函数包。它对两个对象进行操作并根据该条件返回一个谓词值。它是一个函数式接口,因此也可以在 lambda 表达式中使用。

public interface BiPredicate

方法:

  1. test() :此函数评估对两个对象的条件检查,并返回一个表示结果的布尔值。
    boolean test(T obj, V obj1)
  2. and() :此函数对当前对象和作为参数接收的对象应用 AND 运算,并返回新形成的谓词。此方法有一个默认实现。
    default BiPredicate and(BiPredicate other)
  3. negate() :此函数返回当前谓词的逆,即反转测试条件。此方法有一个默认实现。
    default BiPredicate negate() 
  4. or() :此函数对当前对象和作为参数接收的对象应用 OR 运算,并返回新形成的谓词。此方法有一个默认实现。
    default BiPredicate or(BiPredicate other)

    例子:

    Java
    // Java example to demonstrate BiPredicate interface
      
    import java.util.function.BiPredicate;
      
    public class BiPredicateDemo {
        public static void main(String[] args)
        {
            // Simple predicate for checking equality
            BiPredicate biPredicate = (n, s) ->
            {
                if (n == Integer.parseInt(s))
                    return true;
                return false;
            };
      
            System.out.println(biPredicate.test(2, "2"));
      
            // Predicate for checking greater than
            BiPredicate biPredicate1 = (n, s) ->
            {
                if (n > Integer.parseInt(s))
                    return true;
                return false;
            };
      
            // ANDing the two predicates
            BiPredicate biPredicate2
                = biPredicate.and(biPredicate1);
            System.out.println(biPredicate2.test(2, "3"));
      
            // ORing the two predicates
            biPredicate2 = biPredicate.or(biPredicate1);
            System.out.println(biPredicate2.test(3, "2"));
      
            // Negating the predicate
            biPredicate2 = biPredicate.negate();
            System.out.println(biPredicate2.test(3, "2"));
        }
    }


    输出:
    true
    false
    true
    true

    参考: https: Java 函数