Capítulo 5. Problemas con flujos, lambdas y referencias a métodos

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Ahora que conoces los fundamentos de las lambdas y las referencias a métodos y cómo se utilizan en los flujos, hay varios temas que surgen de la combinación. Por ejemplo, ahora que las interfaces pueden tener métodos por defecto, ¿qué ocurre cuando una clase implementa varias interfaces que tienen la misma firma de método por defecto pero diferentes implementaciones? Como otro ejemplo, ¿qué ocurre cuando estás escribiendo código en una expresión lambda e intentas acceder o modificar una variable definida fuera de ella? Además, ¿qué ocurre con las excepciones? ¿Cómo se gestionan en las expresiones lambda, en las que no tienes una firma de método a la que añadir una cláusula throws?

Este capítulo aborda todas estas cuestiones y más.

5.1 La clase java.util.Objects

Problema

Deseas utilizar métodos estáticos de utilidad para la comprobación de nulos, comparaciones, etc.

Solución

Utiliza la clase java.util.Objects, añadida en Java 7, pero útil durante el procesamiento de flujos.

Debate

Una de las clases menos conocidas añadidas en Java 7 es la clase java.util.Objects, que contiene métodos estáticos para diversas tareas. Estos métodos incluyen:

static boolean deepEquals(Object a, Object b)

Comprueba la igualdad "profunda", lo que resulta especialmente útil al comparar matrices.

static boolean equals(Object ...

Get Recetas Java modernas now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.