Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Referencia del Método | enum & Stream API
Java Data Structures

Referencia del MétodoReferencia 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

A Method Reference in Java is a shorthand syntax for calling a method. It allows you to pass a reference to a method instead of using a lambda expression when defining a functional interface. Method Reference enhances code readability and can be used in cases where a lambda expression simply calls another method.

Veamos un ejemplo sencillo de una expresión lambda e intentemos sustituirla por una referencia a un método:

java

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í:

java

example.java

Mejoremos el código anterior utilizando referencias a métodos:

java

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?

Sección 4. Capítulo 4
course content

Contenido del Curso

Java Data Structures

Referencia del MétodoReferencia 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

A Method Reference in Java is a shorthand syntax for calling a method. It allows you to pass a reference to a method instead of using a lambda expression when defining a functional interface. Method Reference enhances code readability and can be used in cases where a lambda expression simply calls another method.

Veamos un ejemplo sencillo de una expresión lambda e intentemos sustituirla por una referencia a un método:

java

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í:

java

example.java

Mejoremos el código anterior utilizando referencias a métodos:

java

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?

Sección 4. Capítulo 4
some-alt