使用 Lambda 表达式检查字符串是否仅包含Java中的字母
Lambda 表达式基本上表达了函数式接口的实例(具有单个抽象方法的接口称为函数式接口。例如Java.lang.Runnable)。 lambda 表达式实现了唯一的抽象函数,因此实现了函数式接口。
给定一个字符串,我们只需要再次遍历字符,任务是检查一个字符串是否只包含字母,主要我们将检查边缘情况,字符串是否存在并且不应该为空,我们将简单地返回false 因为没有办法处理该字符串。当上述条件不满足时,我们将使用 lambda 表达式方法 isLetter() 来检查是否只有字符,并返回相应的布尔值。
插图:
Input : GeeksforGeeks
Output : True
Input : Geeks4Geeks
Output : False
Input : null
Output : False
Concept: The idea is to use isLetter() method of Character class.
算法
- 获取字符串
- 匹配字符串:
- 检查字符串是否为空。如果为空,则返回 false
- 检查字符串是否为空。如果为 null,则返回 false。
- 如果字符串既不为空也不为空,
然后使用 Lambda 表达式字符::isLetter() 检查。
- 如果匹配则返回真
上述算法的伪代码如下:
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中的字母