// 示例代码:使用 java.util.function 包中的函数式接口
import java.util.function.*;
public class FunctionExample {
public static void main(String[] args) {
// Predicate: 用于判断输入是否满足某个条件,返回布尔值
Predicate<Integer> isEven = num -> num % 2 == 0;
System.out.println("Is 4 even? " + isEven.test(4)); // 输出: Is 4 even? true
// Function: 接受一个参数并返回一个结果
Function<String, Integer> stringLength = String::length;
System.out.println("Length of 'hello': " + stringLength.apply("hello")); // 输出: Length of 'hello': 5
// Consumer: 接受一个参数但不返回结果
Consumer<String> printString = System.out::println;
printString.accept("Hello, World!"); // 输出: Hello, World!
// Supplier: 不接受参数但返回一个结果
Supplier<Double> getRandomNumber = Math::random;
System.out.println("Random number: " + getRandomNumber.get()); // 输出一个随机数
// BiFunction: 接受两个参数并返回一个结果
BiFunction<Integer, Integer, Integer> add = (a, b) -> a + b;
System.out.println("Sum of 3 and 5: " + add.apply(3, 5)); // 输出: Sum of 3 and 5: 8
}
}
Predicate: 用于定义一个条件(通常是布尔表达式),并根据输入参数返回 true 或 false。例如,isEven 用于检查一个整数是否为偶数。
Function: 接受一个输入并返回一个输出。例如,stringLength 用于获取字符串的长度。
Consumer: 接受一个输入但不返回任何结果。通常用于执行某些操作,如打印输出。
Supplier: 不接受任何输入,但返回一个结果。例如,getRandomNumber 返回一个随机数。
BiFunction: 接受两个输入并返回一个结果。例如,add 用于将两个整数相加。
这些接口在 Java 8 引入的函数式编程中非常有用,可以简化代码并提高可读性。
上一篇:java math 向上取整
下一篇:javawhile循环
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站