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

📅  最后修改于: 2022-05-13 01:55:20.644000             🧑  作者: Mango

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

Lambda 表达式基本上表达了函数式接口的实例(具有单个抽象方法的接口称为函数式接口。例如Java.lang.Runnable)。 lambda 表达式实现了唯一的抽象函数,因此实现了函数式接口。

给定一个字符串,我们只需要再次遍历字符,任务是检查一个字符串是否只包含字母,主要我们将检查边缘情况,字符串是否存在并且不应该为空,我们将简单地返回false 因为没有办法处理该字符串。当上述条件不满足时,我们将使用 lambda 表达式方法 isLetter() 来检查是否只有字符,并返回相应的布尔值。

插图:

Input : GeeksforGeeks
Output : True
Input  : Geeks4Geeks
Output : False
Input  : null
Output : False

算法

  1. 获取字符串
  2. 匹配字符串:
    • 检查字符串是否为空。如果为空,则返回 false
    • 检查字符串是否为空。如果为 null,则返回 false。
    • 如果字符串既不为空也不为空,
      然后使用 Lambda 表达式字符::isLetter() 检查。
  3. 如果匹配则返回真

上述算法的伪代码如下:

public static boolean isStringOnlyAlphabet(String str)
{
    return ((!str.equals("")) && (str != null) && (str.matches("^[a-zA-Z]*$")));
}

例子:

Java
// Java program to check if String contains only Alphabets
// Using Lambda Expression
 
class GFG {
 
    // Method 1
    // To check String for only Alphabets
    public static boolean isStringOnlyAlphabet(String str)
    {
        return (
            (str != null) && (!str.equals(""))
            && (str.chars().allMatch(Character::isLetter)));
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
 
        // Calling method over different strings
        // justifying all use-cases possible
 
        // Display message
        System.out.println("Test Case 1:");
 
        String str1 = "GeeksforGeeks";
        System.out.println("Input: " + str1);
 
        // Calling over above string: GeeksforGeeks
        System.out.println("Output: "
                           + isStringOnlyAlphabet(str1));
 
        // Checking for String with numeric characters
        System.out.println("\nTest Case 2:");
 
        String str2 = "Geeks4Geeks";
        System.out.println("Input: " + str2);
 
        // Calling over above string: Geeks4Geeks
        System.out.println("Output: "
                           + isStringOnlyAlphabet(str2));
 
        // Checking for null String
        System.out.println("\nTest Case 3:");
        String str3 = null;
        System.out.println("Input: " + str3);
 
        // Calling over above string: null
        System.out.println("Output: "
                           + isStringOnlyAlphabet(str3));
 
        // Checking for empty String
        System.out.println("\nTest Case 4:");
        String str4 = "";
        System.out.println("Input: " + str4);
 
        // Calling over above string ""
        System.out.println("Output: "
                           + isStringOnlyAlphabet(str4));
    }
}


输出:
Test Case 1:
Input: GeeksforGeeks
Output: true

Test Case 2:
Input: Geeks4Geeks
Output: false

Test Case 3:
Input: null
Output: false

Test Case 4:
Input: 
Output: false

相关文章:

  • 使用 ASCII 值检查字符串是否仅包含Java中的字母
  • 使用 Regex 检查字符串是否仅包含Java中的字母