Middle
O que são expressões lambda em Java?
sobes.tech IA
Resposta da IA
A expressão lambda em Java é uma função anónima. Permite tratar a funcionalidade como um argumento de método ou como código como dados.
Características principais:
- Anónima: Não tem nome.
- Interface funcional: A expressão lambda está sempre relacionada com uma interface funcional (interface com um único método abstrato).
- Sintaxe:
(parâmetros) -> { corpo }
Exemplo de uso com a interface funcional Consumer:
import java.util.function.Consumer;
// A interface funcional Consumer<T> tem um método abstrato accept(T t)
Consumer<String> saudacao = (nome) -> {
System.out.println("Olá, " + nome);
};
saudacao.accept("Mundo"); // Saída: Olá, Mundo
Exemplo de uso com a interface Runnable:
// A interface Runnable tem um método abstrato run()
Runnable tarefa = () -> {
System.out.println("A tarefa está a ser executada numa thread separada");
};
new Thread(tarefa).start(); // Inicia a tarefa numa nova thread
Variações de sintaxe:
- Sem parâmetros:
() -> { System.out.println("Olá"); } - Um parâmetro sem parênteses:
nome -> System.out.println("Olá, " + nome) - Vários parâmetros com parênteses e tipos:
(int a, int b) -> { return a + b; } - Vários parâmetros sem tipos (inferência de tipos):
(a, b) -> a + b - Corpo de uma linha sem
return:(a, b) -> a + b - Corpo de várias linhas com chaves e
return(se necessário):(a, b) -> { int soma = a + b; return soma; }
As expressões lambda tornam o código mais compacto, legível e permitem usar programação funcional em Java.