📜  使用Lambda表达式检查字符串在Java中是否仅包含字母(1)

📅  最后修改于: 2023-12-03 15:22:19.086000             🧑  作者: Mango

使用Lambda表达式检查字符串在Java中是否仅包含字母

在Java中,我们可以使用Lambda表达式来检查一个字符串是否仅包含字母。下面是一个演示Lambda表达式如何检查字符串的例子:

public class Main {
    public static void main(String[] args) {
        String str = "HelloWorld";
        boolean isAlphabeticOnly = str.chars().allMatch(Character::isLetter);
        if(isAlphabeticOnly) {
            System.out.println(str + " contains only alphabetic characters");
        } else {
            System.out.println(str + " contains non-alphabetic characters");
        }
    }
}

上面这段代码中,我们首先定义了一个字符串变量 str,然后使用 chars() 方法将字符串转换为一个字符流。然后我们使用 allMatch() 方法和 isLetter() 方法来检查字符流中的每个字符是否都是字母。如果所有字符都是字母,allMatch() 方法将返回 true,否则返回 false

在上面的代码中,我们使用的是方法引用 Character::isLetter 来将 Lambda 表达式传递给 allMatch() 方法。这段代码等价于下面的 Lambda 表达式:

str.chars().allMatch(c -> Character.isLetter(c))

但是,由于 isLetter() 方法接受一个字符作为参数,因此我们可以使用方法引用来简化代码。

综上所述,使用Lambda表达式可以很容易地在Java中检查一个字符串是否仅包含字母。