Java8:如何用Predicate函数替换按位包含和(&)?

Agu*_*uid 2 java function java-8

我想使用Predicate函数而不是&运算符.这意味着我想要"第二次测试通过!!" 在执行我的代码后打印.

我该怎么做 ?

public class BitwiseInclusiveAND{

    public static void main(String[] args) {
        final Predicate<String> condition1 = (Predicate<String>) (arg -> arg != null);
        final Predicate<String> condition2 = (Predicate<String>) (arg -> {
            System.out.println("Second Test is passed !!");
            return arg.equals("Hello");
        });
        Predicate<String> equalsStrings
                = condition1.and(condition2); // Here I want to execute the condition2 even if condition 1 = true 
        System.out.println(equalsStrings.test("Hello"));
    }
}
Run Code Online (Sandbox Code Playgroud)

And*_*ner 5

只需自己实现谓词:

Predicate<String> or = s -> condition1.test(s) & condition2.test(s);
Run Code Online (Sandbox Code Playgroud)

&用你可能想要的任何其他运算符替换它.