Las expresiones lambda básicamente expresan instancias de interfaces funcionales (una interfaz con un solo método abstracto se denomina interfaz funcional. Un ejemplo es java.lang.Runnable). Las expresiones lambda implementan la única función abstracta y, por lo tanto, implementan interfaces funcionales.
Dada una string, solo necesitamos iterar sobre los caracteres nuevamente, la tarea es verificar si una string contiene solo alfabetos o no, para lo cual principalmente verificaremos los casos extremos si la string está presente o no y no debe ser nula, simplemente devolveremos falso ya que no hay forma de lidiar con esa string. Cuando no se cumpla la condición anterior, utilizaremos el método de expresión lambda isLetter() para verificar si solo hay caracteres o no, y devolveremos un valor booleano correspondiente.
Ilustraciones:
Input : GeeksforGeeks Output : True
Input : Geeks4Geeks Output : False
Input : null Output : False
Concepto: La idea es usar el método isLetter() de la clase Character .
Algoritmo
- obtener la string
- Coincidir con la string:
- Compruebe si la string está vacía o no. Si está vacío, devuelve falso
- Compruebe si la string es nula o no. Si es nulo, devuelve falso.
- Si la string no está vacía ni es nula,
verifique con Lambda Expression Character::isLetter().
- Devuelve verdadero si coincide
El pseudocódigo para el algoritmo propuesto anteriormente es el siguiente:
public static boolean isStringOnlyAlphabet(String str) { return ((!str.equals("")) && (str != null) && (str.matches("^[a-zA-Z]*$"))); }
Ejemplo:
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
Artículos relacionados: