@Test
public void predicateTest() {
// 接受一个T类型参数,判断合法性,返回boolean
Predicate<String> predicate = (String username) -> {
return "user".equals(username);
};
System.out.println(predicate.test("user"));
System.out.println(predicate.test("admin"));
}
@Test
public void consumerTest() {
// 接受1个T类型参数,没有返回值
Consumer<String> consumer = (String message) -> {
System.out.println("正在发送消息 " + message + "...");
System.out.println("发送成功");
};
consumer.accept("hello,world!");
}
@Test
public void functionTest() {
// 接受一个T参数,返回一个U类型
Function<String, Integer> function = (String numberStr) -> {
return Integer.valueOf(numberStr);
};
System.out.println(function.apply("100"));
}
@Test
public void supplierTest() {
// 不接受参数,返回一个T类型参数
Supplier<Integer> supplier = () -> {
return new Random().nextInt(100);
};
System.out.println(supplier.get());
System.out.println(supplier.get());
System.out.println(supplier.get());
}
@Test
public void unaryOperatorTest() {
// 接受T类型的参数并修改后返回
UnaryOperator<String> unaryOperator = (String content) -> {
content = content + " has updated";
return content;
};
System.out.println(unaryOperator.apply("Hello"));;
}
@Test
public void binaryOperatorTest() {
// 接受两个T类型参数,返回一个T类型参数
BinaryOperator<String> binaryOperator = (String prefix, String suffix) -> {
return prefix + " " +suffix;
};
System.out.println(binaryOperator.apply("hello", "world"));
}
JDK8特性 内置函数式接口 Predicate
猜你喜欢
转载自www.cnblogs.com/esrevinud/p/12729527.html
今日推荐
周排行