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
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
El método negate()
Si necesitara la función negada, podría utilizar el 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
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:
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
Relacionado
Descubre más desde Recursos para formacion
Suscríbete y recibe las últimas entradas en tu correo electrónico.