下面是一个示例代码,展示了如何编写一个接受lambda表达式作为参数的方法,在不同条件下进行打印。
public class LambdaExample {
public static void printMessage(String message, Predicate condition) {
if (condition.test(message)) {
System.out.println(message);
}
}
public static void main(String[] args) {
// 打印长度大于5的字符串
printMessage("Hello", s -> s.length() > 5);
// 打印包含特定字符的字符串
printMessage("World", s -> s.contains("o"));
// 打印以大写字母开头的字符串
printMessage("Example", s -> Character.isUpperCase(s.charAt(0)));
}
}
在上面的示例中,我们定义了一个printMessage
方法,它接受两个参数:一个字符串消息和一个Predicate
类型的条件。Predicate
是一个函数接口,它的test
方法用于对给定输入进行条件判断。
在main
方法中,我们调用printMessage
方法三次,每次传递不同的lambda表达式作为条件。第一次传递的条件是判断字符串长度是否大于5,第二次传递的条件是判断字符串是否包含字母"o",第三次传递的条件是判断字符串的第一个字符是否为大写字母。
根据不同的条件,printMessage
方法会决定是否打印传入的消息字符串。