Referencia del Método
Antes de sumergirnos en la práctica con la API Stream, deberíamos explorar algunos acortamientos para expresiones lambda. Los programadores se refieren a estos "acortamientos" como azúcar sintáctico.
En este capítulo hablaremos de las referencias a métodos y de cómo utilizarlas como sustitutos de las expresiones lambda.
Referencias de métodos
Veamos un ejemplo sencillo de una expresión lambda e intentemos sustituirla por una referencia a un método:
main.java
Usar dos expresiones lambda no parece muy elegante, especialmente cuando podemos acortarlas a referencias a métodos de las clases donde están declaradas.
La sintaxis se verá así:
example.java
Mejoremos el código anterior utilizando referencias a métodos:
main.java
El método toUpperCase
es parte de la clase String
, así que usamos la construcción String::toUpperCase
. Ten en cuenta que al utilizar una referencia a un método, la operación se aplicará a cada elemento, por lo que no es necesario utilizar una expresión lambda para esto. También hemos sustituido la impresión en pantalla por System.out::print
, que también es un método de referencia. El programa aplicará el método System.out.print()
a cada elemento.
Por cierto, el propio IntelliJ IDEA sugiere constantemente sustituir las expresiones lambda por referencias a métodos si tal operación es posible, para no tener que memorizar la sintaxis cada vez:
De esta forma, el propio IntelliJ IDEA sugerirá mejorar tu código utilizando referencias a métodos.
Resumen
En resumen, las referencias a métodos no añaden ninguna carga programática. No optimizan el proceso pero tampoco lo complican. Esta construcción es simplemente para reducir ligeramente el código escrito y mejorar la legibilidad. Usar expresiones lambda o referencias a métodos es depende de ti. Por ejemplo, a mí me parece más claro escribir una expresión lambda, y entonces IntelliJ la reemplazará automáticamente por una referencia a un método.
¿Todo estuvo claro?
Contenido del Curso
Java Data Structures
2. Estructuras de Datos Adicionales
Java Data Structures
Referencia del Método
Antes de sumergirnos en la práctica con la API Stream, deberíamos explorar algunos acortamientos para expresiones lambda. Los programadores se refieren a estos "acortamientos" como azúcar sintáctico.
En este capítulo hablaremos de las referencias a métodos y de cómo utilizarlas como sustitutos de las expresiones lambda.
Referencias de métodos
Veamos un ejemplo sencillo de una expresión lambda e intentemos sustituirla por una referencia a un método:
main.java
Usar dos expresiones lambda no parece muy elegante, especialmente cuando podemos acortarlas a referencias a métodos de las clases donde están declaradas.
La sintaxis se verá así:
example.java
Mejoremos el código anterior utilizando referencias a métodos:
main.java
El método toUpperCase
es parte de la clase String
, así que usamos la construcción String::toUpperCase
. Ten en cuenta que al utilizar una referencia a un método, la operación se aplicará a cada elemento, por lo que no es necesario utilizar una expresión lambda para esto. También hemos sustituido la impresión en pantalla por System.out::print
, que también es un método de referencia. El programa aplicará el método System.out.print()
a cada elemento.
Por cierto, el propio IntelliJ IDEA sugiere constantemente sustituir las expresiones lambda por referencias a métodos si tal operación es posible, para no tener que memorizar la sintaxis cada vez:
De esta forma, el propio IntelliJ IDEA sugerirá mejorar tu código utilizando referencias a métodos.
Resumen
En resumen, las referencias a métodos no añaden ninguna carga programática. No optimizan el proceso pero tampoco lo complican. Esta construcción es simplemente para reducir ligeramente el código escrito y mejorar la legibilidad. Usar expresiones lambda o referencias a métodos es depende de ti. Por ejemplo, a mí me parece más claro escribir una expresión lambda, y entonces IntelliJ la reemplazará automáticamente por una referencia a un método.
¿Todo estuvo claro?