Relacionado con: UnaryOperator, IntUnaryOperator, LongUnaryOperator, DoubleUnaryOperator
La interfaz funcional UnaryOperator, viene definida en la version de Java 8, y esta pensada para implementar funciones que recibe un objeto cualquiera, y devuelven también un objeto cualquiera, siempre del mismo tipo
Si necesitamos trabajar con primitivos, utilizaremos alguna de las otras interfaces relacionadas
El método a implementar es
T apply(T t)
La interfaz UnaryOperator
Si quiero imprimir en mayúsculas, podría crear la siguiente función
En la linea 9 implemento la interfaz, indicando que voy a trabajar en la entrega y en la devolución, con String, y luego la aplico en cada ocasión en que me interese
El método compose()
El método compose(), recibe una función que será ejecutada en primer lugar, y luego aplicara la función creada anteriormente
En la linea 11, estoy creando un nuevo campo UnaryOperator , en la 14 le creo otro UnaryOperator con otra operación. Al utilizar compose en la linea 17, consigo que primero se ejecute la instrucción mitadp (linea 14) y luego, sobre el resultado, se ejecuta mitad(la de la linea 11)
El método anThen()
El método andThen(), recibe una función que será ejecutada a continuación de la creada anteriormente
En este caso, en la linea 19, se ejecuta primero la función definida primero (linea 12), y sobre el resultado, se ejecuta la función andThen()(definida en linea 15)
Método identity()
Este método devuelve una función que entrega el mismo valor que se facilita