Categorías
Java 8 Stream

¿Cómo utilizar el tipo opcional en Java 8?

1. Forma correcta de usar Opcional

Considere el siguiente ejemplo:

List<String> list = new ArrayList<String>();
list.add("java");
list.add("php");
list.add("python");
list.add("perl");
list.add("c");
list.add("lisp");
list.add("c#");
Stream<String> wordStream = list.stream();
 
Stream<Integer> lengthStream = wordStream.map(s -> s.length());
Optional<Integer> sum = lengthStream.reduce((x, y) -> x + y);
System.out.println(sum.get());

Esto no es correcto, ya que no hay verificación nula.

En lugar de utilizar el método get (), haga lo siguiente:

Optional<Integer> sum = lengthStream.reduce((x, y) -> x + y);
sum.ifPresent(System.out::println);

Si se requiere un valor predeterminado para el objeto opcional, use sum.orElse(0), o invocar otra función para obtener el valor predeterminado

sum.orElseGet(getValueMethod());

2. Cree valores opcionales

También podemos escribir métodos que devuelvan objetos opcionales. Para crear objetos opcionales, podemos usar Optional.of () u Optional.empty ().

public static Optional<Integer> sum(int[] arr){
	return arr==null ? Optional.empty() : Optional.of(...computer sum...);
}

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *