Predicate 测试字符串是否包含H,并且包含W,或者包含W,或者长度超过多少

package com.jeesite.modules.jiQiao.web;

import java.util.function.Predicate;

public class DemoPredicateTest {
public static void main(String[] args) {
// 测试名字长度越过三个字则为长名字
/*isLongName((String string) -> {
boolean b = string.length() > 3;
return b;
});*/

// 测试字符串是否包含H,并且包含W
String str = "Hello World";
/*boolean hw = isHW(str, (String string) -> {
return str.contains("H");
}, (String string) -> {
return str.contains("W");
});
System.out.println(hw);*/

// 测试字符串是否包含H,或者包含W
/*boolean hw2 = isHW2(str, (String) -> {
return str.contains("H");
}, (String) -> {
return str.contains("W");
});
System.out.println(hw2);*/

// 测试字符串不包含H
boolean h = isNotH(str, (String string) -> {
return str.contains("H");
});
System.out.println(h);
}

// 测试名字长度越过三个字则为长名字
public static void isLongName(Predicate<String> predicate) {
boolean isLong = predicate.test("迪丽热巴");
System.out.println("是否为长名字:" + isLong);
}

// 测试字符串是否包含H,并且包含W
public static boolean isHW(String string, Predicate<String> p1, Predicate<String> p2) {
/*boolean test = p1.test(string);
boolean test1 = p2.test(string);*/

// and是要两个都包含,相当于&&
boolean test = p1.and(p2).test(string);

if (test) {
System.out.println("两个都包含");
return true;
} else {
System.out.println("不符合");
return false;
}
}

// 测试字符串是否包含H,或者包含W
public static boolean isHW2(String str, Predicate<String> p1, Predicate<String> p2) {
// or只要一个包含即可,相当于||
boolean test = p1.or(p2).test(str);
if (test) {
System.out.println("符合");
return true;
} else {
System.out.println("不符合");
return false;
}
}

// 测试字符串不包含H
public static boolean isNotH(String str, Predicate<String> p1) {
boolean test = p1.negate().test(str);
if (test) {
System.out.println("符合");
return true;
} else {
System.out.println("不符合");
return false;
}
}

}

猜你喜欢

转载自www.cnblogs.com/aqihao/p/13381319.html