JUC并发编程_四大函数式接口
JUC并发编程_四大函数式接口
- Function 接口
- Predicate 接口
- Consumer 接口
- Supplier 接口
Function 接口
接受一个输入参数并返回结果。主要用于转换数据,比如字符串转大写、数字加一等。
方法:R apply(T t)
Function<String, String> function = (String str) -> {
if (StrUtils.isNotEmpty(str)) {
return str;
} else {
return "";
}
};
System.out.println(function.apply("blu"));
Predicate 接口
方法:boolean test(Object o)
接受单个输入参数并返回布尔值结果。主要用于条件判断,比如检查字符串是否为空、数字是否大于某个值等。
Predicate predicate = (Predicate<String>) str -> StrUtils.isEmpty(str);
System.out.println(predicate.test("blu"));
Consumer 接口
方法:void accept(T t)
接受单个输入参数但不返回任何结果,主要用于执行某些操作,比如打印日志、发送数据等。
Consumer<String> consumer = str -> System.out.println(str);
consumer.accept("blu");
Supplier 接口
方法:T get()
不接受任何参数但返回某种类型结果,主要用于提供数据,比如生成随机数、获取当前时间等。
Supplier<Integer> supplier = () -> {
Random random = new Random();
//生成0-100的随机整数
return random.nextInt(101);
};
System.out.println(supplier.get());