Enjoy A New Student Discount All 55,000 Courses on sale for Only $12.99

Ends in 05h 23m 49s

Java8 – Interfaz funcional BiPredicate

La interfaz funcional BiPredicate, viene definida en la version de Java 8, y esta pensada para realizar comprobaciones sobre objetos de cualquier tipo. Recibe dos parámetros definidos de forma genérica, y devuelve un booleano

La interfaz a implementar es

boolean test(T t, S s)

Supongamos que necesito comprobar si una String empieza por una letra cualquiera

Ejemplo de uso de la interfaz de Java8 BiPredicate,
Interfaz BiPredicate

En la linea 11, implemento la interfaz, definiendo el tipo de parámetro que deseo utilizar, y luego la aplico en cada ocasión en que necesito hacer la comprobación

Los argumentos que se pasan pueden ser distintos; por ejemplo, si quiero compara las longitudes de una String, puedo escribir

Ejemplo de uso de la interfaz de Java8 BiPredicate,
Interfaz BiPredicate con tipos de campos distintos

El método negate()

Si necesitara la función negada, podría utilizar el método negate()

Ejemplo de uso de la interfaz de Java8 BiPredicate, usando el método negate()
Interfaz BiPredicate con método negate()

Despues de implementar la función (en linea10-12), añado el método negate() en la linea 17, para realizar la comparación contraria.

Condiciones and() y or()

Es posible, combinar mas de una comparación, con los métodos and() y or()

Por ejemplo, si necesito comprobar que una string tiene una longitud mínima determinada, y máxima de la mínima mas 2

Ejemplo de uso de la interfaz de Java8 BiPredicate, usando el método or()
Interfaz BiPredicate , con método and()

Si por el contrario, las condiciones están relacionadas por O, por ejemplo, que sean menor que una longitud determinada, o mayor que esa longitud + 2, se puede resolver asi:

Ejemplo de uso de la interfaz de Java8 BiPredicate, usando el método and()
Interfaz Bipredicate con método or()

Si os fijáis, solo he cambiado la comprobación en las lineas 15, y 17, y 19 en donde en vez del and(), he utilizado el or()

Pagina detalle de la descripción de interfaces funcionales disponibles en Java 8, de próxima publicación


Descubre más desde Recursos para formacion

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario

/*Si te ha gustado el artículo
no dudes en compartirlo*/

Facebook
Twitter
LinkedIn

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies

Ver mi IP

Ver ip de mi máquina
tipo valor
Ip: 18.97.14.82
Proxy: 18.97.14.82
Remote host: 18-97-14-82.crawl.commoncrawl.org
Remote port: 51152
** 18.97.14.82, 172.71.223.101