JavaRush /Blog Java /Random-ES /Pausa para el café #150. Estudiemos ejemplos de expresion...

Pausa para el café #150. Estudiemos ejemplos de expresiones lambda en Java. Las 7 características más subestimadas de IntelliJ IDEA

Publicado en el grupo Random-ES

Ejemplos de aprendizaje de expresiones lambda en Java

Fuente: Medio En este artículo, veremos las expresiones lambda, la base de la programación funcional en Java. Pausa para el café #150.  Estudiemos ejemplos de expresiones lambda en Java.  Las 7 características más subestimadas de IntelliJ IDEA - 1

Sintaxis de expresión lambda

La sintaxis de las expresiones lambda es intuitiva, fácil de entender y fácil de usar. Una expresión lambda consta de:
  1. parámetros de entrada
  2. flecha del operador
  3. bloque de expresiones/declaraciones
El formato general es:
<input-params> -> <function-code>

Ejemplos de expresiones lambda

Las expresiones lambda se entienden mejor a través de ejemplos, así que veamos algunos de ellos.

1. No acepta entradas y no devuelve resultados.

Una expresión lambda simple no recibe ninguna entrada ni devuelve ninguna salida; es literalmente solo un bloque de código que se ejecuta sin ningún contexto.
() -> System.out.println("Here I am!");
Especificar () al principio, en la posición de los parámetros de entrada, significa que no se pasan parámetros (como ocurre con los paréntesis vacíos que siguen a un método que no tiene parámetros).

2. Acepta una sola entrada, no devuelve ninguna salida.

Para hacer que una expresión lambda tome un parámetro, lo colocamos en la posición de parámetros de entrada:
name -> System.out.println("Here you are too, " + name +  "!");
NOTA : Si tenemos un parámetro de entrada, podemos omitir los paréntesis. También podemos especificar (nombre), esto es completamente aceptable.

3. Acepta múltiples entradas, no devuelve ninguna salida.

Cuando pasamos múltiples parámetros de entrada a una expresión lambda, debemos:
  • encerrar los parámetros entre paréntesis
  • use coma para separar entre ellos
(name, food) -> System.out.println("So " + name + " enjoys eating " + food + "... interesting!");

4. Contiene varias declaraciones en una sección de código.

Se considera una buena práctica almacenar expresiones lambda en declaraciones de una línea. Pero también puedes usar varias líneas:
() -> {
  System.out.println("The owl and the pussycat went to sea");
  System.out.println("in a beautiful pea green boat");
}

5. Los tipos de devolución nunca se especifican

Como habrás notado, al definir una expresión lambda, no se especifica ningún tipo de retorno. He aquí un ejemplo:
() -> System.out.println("I don't return anything!")
Y uno más:
() -> "I return this String!"
Ambos ejemplos de código son casi iguales, pero la segunda lambda devuelve una cadena. Tenga esto en cuenta cuando los utilice. Por supuesto, el compilador comprenderá la diferencia entre ellos mediante el uso condicional de descriptores de funciones.

6. La inferencia de tipos se aplica automáticamente siempre que sea posible.

Para determinar el tipo, el compilador utilizará la inferencia de tipos. Para ello, analiza el contexto de ejecución de la expresión lambda. Para el desarrollador, esto significa que no tendrá que preocuparse por transmitir a un tipo específico.

7. Notación del descriptor de funciones

Cuando pensamos en a qué tipos se puede asignar una expresión lambda, resulta muy útil utilizar descriptores de funciones. Un identificador de función es esencialmente una firma de método que proporciona una expresión (o método) lambda. Su sintaxis es casi la misma que la de las expresiones lambda, excepto que en lugar de una sección de código, hay una sección de tipo de salida. He aquí un ejemplo:
<input-parameter-types> -> <output-parameter-type>

Ejemplos de descriptores de funciones

A continuación se muestran algunos ejemplos de descriptores de funciones: () -> () Un método que no toma parámetros de entrada y no devuelve un valor. (Cadena) -> () Método que acepta un parámetro de entrada y no devuelve un valor. () -> (int, float) Un método que no toma parámetros de entrada y devuelve un int y un float(int[]) -> . (SortedMap<Character, Integer>) Método que toma una matriz int y devuelve un SortedMap de Character a Integer . Tener descriptores de funciones facilita la evaluación de la compatibilidad de tipos al considerar qué tipos de destino podemos usar para una expresión lambda.

Conclusión

Como puede ver, las expresiones lambda son una forma clara y sencilla de encapsular el comportamiento. Es uno de los fundamentos del paradigma de programación funcional introducido en Java con el lanzamiento de JDK 8.

Las 7 características más subestimadas de IntelliJ IDEA

Fuente: Better Programming Es difícil de creer, pero muchos años después todavía conozco personas que no conocen estas excelentes funciones de IntelliJ IDEA.

1.Encuentra cualquier cosa

Es bastante difícil recordar cada combinación de teclas y realizar un seguimiento de todo lo que IntelliJ IDEA puede hacer. Es por eso que suelo utilizar la búsqueda dentro de IntelliJ IDEA. Esto me ayuda a encontrar los elementos del menú, las herramientas, las configuraciones e incluso los archivos que necesito en un solo lugar. Pausa para el café #150.  Estudiemos ejemplos de expresiones lambda en Java.  Las 7 características más subestimadas de IntelliJ IDEA - 2

2. Sepa dónde estás

Antes de encontrar esta función, utilizaba el botón "Seleccionar abrir archivo" para mostrar el archivo actualmente editado en el árbol del proyecto. Pausa para el café #150.  Estudiemos ejemplos de expresiones lambda en Java.  Las 7 características más subestimadas de IntelliJ IDEA - 3Ahora IntelliJ IDEA hace esto por mí. Esta no es una opción predeterminada, por lo que deberá configurarla para cada proyecto nuevo o existente. Pausa para el café #150.  Estudiemos ejemplos de expresiones lambda en Java.  Las 7 características más subestimadas de IntelliJ IDEA - 4

3. Optimización de SQL

¿Sabía que el complemento de base de datos predeterminado en su IDE es más que un simple ejecutor de SQL? Dado que la capa de persistencia (E/S) es siempre la parte más lenta de la aplicación, siempre me aseguro de que mis consultas SQL tengan un buen plan de ejecución cuando trabajo con bases de datos relacionales. Pausa para el café #150.  Estudiemos ejemplos de expresiones lambda en Java.  Las 7 características más subestimadas de IntelliJ IDEA - 5

4. Edición multilínea

Es posible que hayas utilizado esta función en Sublime Text Editor antes. Pausa para el café #150.  Estudiemos ejemplos de expresiones lambda en Java.  Las 7 características más subestimadas de IntelliJ IDEA - 6

5. Retroceder/Adelante

De hecho, a menudo vuelvo a donde estaba antes presionando los botones de avance o retroceso. Pausa para el café #150.  Estudiemos ejemplos de expresiones lambda en Java.  Las 7 características más subestimadas de IntelliJ IDEA - 7Retroceder/adelante: ⌥⌘+flecha izquierda/derecha (Ctrl+Alt+flecha izquierda/derecha para Win/Linux). Para abrir archivos recientes, presione ⌘E (Ctrl+E para Win/Linux).

6. Marcadores

Marco partes importantes del código para poder consultarlas rápidamente en cualquier momento. Pausa para el café #150.  Estudiemos ejemplos de expresiones lambda en Java.  Las 7 características más subestimadas de IntelliJ IDEA - 8Para ir a un marcador, presione ⌃+<número> (Ctrl+<número> para Win/Linux). Diré de inmediato que no uso más de tres marcadores a la vez, porque entonces resulta difícil recordar para qué sirven.

7. Un editor para todo

Solía ​​​​abrir otros editores de texto como Visual Studio Code o Sublime para guardar partes de código, JSON, XML y luego vincularlos. Pero esto no es parte del código base (proyecto), e IntelliJ IDEA te lo recuerda claramente cuando intentas crear o editar algo como esto. Luego vi a uno de mis colegas usando Snippets y me di cuenta de lo genial que era. Pausa para el café #150.  Estudiemos ejemplos de expresiones lambda en Java.  Las 7 características más subestimadas de IntelliJ IDEA - 9Nuevo archivo de fragmento: ⇧⌘N (Shift+Ctrl+N para Win/Linux). Los fragmentos están disponibles y sincronizados en todas las ventanas de sus proyectos. A menudo los uso para examinar y formatear algún JSON o SQL que obtuve de otro lugar.

mi receta secreta

La guinda del pastel es una característica que me ahorra un montón de tiempo escribiendo todos los días: Tabnine es un complemento de JetBrains para compilar código Intellij IDEA impulsado por IA. Es gratis por ahora, pero date prisa que no creo que dure mucho.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION