java - sonda - falla sensor de oxigeno sintomas
La declaración lambda se puede reemplazar con la expresión lambda (2)
A veces me parece útil dejar las llaves donde están si el bloque de código es lo suficientemente largo (creo que mejora la legibilidad)
En Android Studio, puede deshabilitar localmente la advertencia usando //noinspection CodeBlock2Expr
al comienzo del método, como se muestra en el siguiente ejemplo.
//noinspection CodeBlock2Expr
button.setOnClickListener((View v) -> {
//a long single method call...
});
Realizo la validación de usuarios e invitaciones utilizando el servicio opcional.
@DeleteMapping("/friends/{username}")
public
HttpEntity<Boolean> removeFriend(
@ApiParam(value = "The user''s name", required = true) @PathVariable String username
) {
Long fromId = authorizationService.getUserId();
return userService.findByUsername(username)
.map(user -> {
return friendshipService.findFriendship(fromId, user.getId())
.map(friendship -> {
friendshipService.removeFriendship(friendship);
friendship.setToId(friendship.getFromId());
friendship.setFromId(friendship.getToId());
friendshipService.removeFriendship(friendship);
return ResponseEntity.ok(true);
}).orElseGet(() -> ResponseEntity.notFound().build());
}).orElseThrow(() -> new ResourceNotFoundException("User not found"));
Sin embargo, IntelliJ está coloreando mi retorno gris https://zapodaj.net/2f48b1a26c392.png.html Pero cuando elimino el retorno, se destaca que no hay retorno https://zapodaj.net/37605f08165c9.png.html
¿Podría alguien explicar cómo funciona y de qué se trata?
Tan sencillo como eso:
Tu declaración lambda
user -> { return expression; }
Se puede cambiar a una expresión lambda:
user -> expression
Tenga en cuenta que los corchetes y el punto y coma deben eliminarse.