El método filter() de java.util . La clase Opcional en Java se usa para filtrar el valor de esta instancia Opcional al hacerla coincidir con el Predicado dado , y luego devolver la instancia Opcional filtrada. Si no hay ningún valor presente en esta instancia opcional, este método devuelve una instancia opcional vacía.
Sintaxis:
public Optional<T> filter(Predicale<T> predicate)
Parámetros: Este método acepta predicado como parámetro de tipo Predicado para filtrar una instancia Opcional con esto.
Valor devuelto: este método devuelve la instancia opcional filtrada. Si no hay ningún valor presente en esta instancia opcional, este método devuelve una instancia opcional vacía.
Excepción: este método lanza NullPointerException si el predicado especificado es nulo.
Los siguientes programas ilustran el método filter():
Programa 1:
// Java program to demonstrate // Optional.filter() method import java.util.*; public class GFG { public static void main(String[] args) { // create a Optional Optional<Integer> op = Optional.of(9456); // print value System.out.println("Optional: " + op); // filter the value System.out.println("Filtered value " + "for odd or even: " + op .filter(num -> num % 2 == 0)); } }
Optional: Optional[9456] Filtered value for odd or even: Optional[9456]
Programa 2:
// Java program to demonstrate // Optional.filter() method import java.util.*; public class GFG { public static void main(String[] args) { // create a Optional Optional<Integer> op = Optional.empty(); // print value System.out.println("Optional: " + op); try { // filter the value System.out.println("Filtered value " + "for odd or even: " + op .filter(num -> num % 2 == 0)); } catch (Exception e) { System.out.println(e); } } }
Optional: Optional.empty Filtered value for odd or even: Optional.empty
Referencia: https://docs.oracle.com/javase/9/docs/api/java/util/Optional.html#filter-java.util.function.Predicate-
Publicación traducida automáticamente
Artículo escrito por ShubhamMaurya3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA