package fangzu.dayapril16; import java.util.function.Predicate; public class and { public static boolean checkString(String s, Predicate<String> pred1,Predicate<String> pred2){ return pred1.test(s)&&pred2.test(s); //此处的精髓在于and的应用 // pred1.and(pred2).test(s); } public static void main(String[] args) { String s="abcdef"; boolean b=checkString(s,(String str)->{ return str.length()>5; }, (String str)->{ return str.contains("a"); } ); System.out.println(b); } }
public static boolean checkString (String s, Predicate<String> p1, Predicate<String> p2)
{
return p1.test(s)&&p2.test(s);
}
此处lambda的代码很tricky啊是
negate:
public static boolean checkString (String s, Predicate<String> p1)
{
return p1.negate().test(s);
}