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

📅  最后修改于: 2020-03-27 14:52:17             🧑  作者: Mango

给定字符串,检查字符串是否仅包含字母。
例子:

输入 : GeeksforGeeks
输出 : True
输入 : Geeks4Geeks
输出 : False
输入 : null
输出 : False

这个想法是使用Character类的isLetter()方法
算法:

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

伪代码:

public static boolean isStringOnlyAlphabet(String str)
{
    return ((!str.equals(""))
            && (str != null)
            && (str.chars().allMatch(Character::isLetter)));
}

程序:检查字符串是否仅包含字母。

// Java展示如何使用Lambda表达式
class GFG {
    // 检查string是否仅由字母构成
    public static boolean isStringOnlyAlphabet(String str)
    {
        return ((str != null)
                && (!str.equals(""))
                && (str.chars().allMatch(Character::isLetter)));
    }
    // Main方法
    public static void main(String[] args)
    {
        // True
        System.out.println("Test Case 1:");
        String str1 = "GeeksforGeeks";
        System.out.println("Input: " + str1);
        System.out.println("Output: " + isStringOnlyAlphabet(str1));
        // False
        System.out.println("\nTest Case 2:");
        String str2 = "Geeks2Geeks";
        System.out.println("Input: " + str2);
        System.out.println("Output: " + isStringOnlyAlphabet(str2));
        // null String
        System.out.println("\nTest Case 3:");
        String str3 = null;
        System.out.println("Input: " + str3);
        System.out.println("Output: " + isStringOnlyAlphabet(str3));
        // 空String
        System.out.println("\nTest Case 4:");
        String str4 = "";
        System.out.println("Input: " + str4);
        System.out.println("Output: " + isStringOnlyAlphabet(str4));
    }
}

输出:

Test Case 1:
Input: GeeksforGeeks
Output: true
Test Case 2:
Input: Geeks2Geeks
Output: false
Test Case 3:
Input: null
Output: false
Test Case 4:
Input:
Output: false