Flashcards
Java 8
Cards in this deck (9)
- 1Qual a sintaxe de uma função lambda?(argumento) -> (corpo)
- 2O argumento de uma sintaxe lambda pode ser nulo?Sim! O exemplo abaixo é aceitável:
() -> System.out.println("Hello World"); - 3O corpo de uma sintaxe lambda pode ser nulo?Não! Apenas o campo de argumentos pode ser nulo.
- 4Quando os parênteses não são obrigatórios em uma sintaxe lambda?Quando existir apenas um argumento
Quando o tipo do argumento for implícito
(String s) -> { System.out.println(s); } //OK
String s -> { System.out.println(s); } //NÃO COMPILA
s -> { System.out.println(s); } // OK - 5O uso de parênteses na sintaxe dos argumentos lambdas é obrigatório quando?Quando não houver argumentos
Quando os argumentos tiverem seu tipo explicitamente declarados
Quando o número de argumentos for maior ou igual a 2
(String s) -> { System.out.println(s); }
(int a, int b) -> { return a + b; }
() -> System.out.println("Hello World"); - 6Quando o uso de colchetes é obrigatório em uma sintaxe lambda?Caso tenha apenas um parâmetro no corpo da função os colchetes não são obrigatórios.
Se a expressão lambda consistir de mais de uma linha, ela deve estar entre colchetes e cada expressão dever terminar com um ponto e virgula.
(oldState, newState) -> System.out.println("State changed")
(oldState, newState) -> {
System.out.println("Old state: " + oldState);
System.out.println("New state: " + newState);
} - 7Quando o uso de colchetes não é obrigatório em uma sintaxe lambda?Caso tenha apenas um parâmetro no corpo da função os colchetes não são obrigatórios.
Se a expressão lambda consistir de mais de uma linha, ela deve estar entre colchetes e cada expressão dever terminar com um ponto e virgula.
(oldState, newState) -> System.out.println("State changed")
(oldState, newState) -> {
System.out.println("Old state: " + oldState);
System.out.println("New state: " + newState);
} - 8Como fazer o uso do return em uma expressão lambda?É possível retornar um valor da expressão lambda assim como acontece com métodos.
Neste caso o ponto e virgula é sempre obrigatório. Mesmo que a expressão tenha uma única linha.
(param) -> {
System.out.println("param: " + param);
return "return value";
}
(a1, a2) -> { return a1 > a2; } - 9Quando o ponto e virgula é obrigatório?Se a expressão tiver mais de uma linha.
Se a expressão for um return.
(a1, a2) -> { return a1 > a2; }
Information
- Description
- Computação Flashcards on Java 8, created by Saulo Victor Silva on 21/08/2019.
- Created by
- Saulo Victor Silva
- Views
- 0
- Rating