es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo configurar datos usando Java opcional

Soy un traductor de español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código y la salida en markdown.

Soy nuevo en Opcional y programación funcional.
¿Cómo optimizo el siguiente código utilizando opcional (línea: 4 a línea: 7)?

@Getter @Setter
clase Score{
Puntuación doble;
Porcentaje doble;
}

Optional <Puntuación> puntuaciónopción obtenerPuntuación(){}

¿Cómo establecer los datos de puntuación y porcentaje utilizando opcional?

public Optional calcular(){
Optional puntuaciónOpcional = obtenerPuntuación();

// Estoy ajustando los datos de esta manera
if(puntuaciónOpcional.isEmpty())
return puntuaciónOpcional;

// línea: 4
Score puntuación= puntuaciónOpcional.get();
puntuación.setPuntuación(13D);
puntuación.setPorcentaje(15D);
return Optional.of(puntuación);
// línea: 7

}

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para optimizar el código utilizando Optional, puedes usar el método map para transformar el objeto Score si existe dentro de Optional, así:

    public Optional<score> calculate() {
        return getScore().map(score -> {
            score.setScore(13D);
            score.setPercentage(15D);
            return score;
        });
    }
    

    En este bloque de código, el método map comprueba si el Optional<score> devuelto por getScore() no está vacío. Si no está vacío, aplica las funciones setScore y setPercentage al objeto Score contenido en Optional y devuelve un nuevo Optional con el objeto Score modificado. Si el Optional devuelto por getScore() está vacío, el método map simplemente retorna un Optional vacío.

    Este código es más conciso y fácil de leer que el bloque de código original.

Comments are closed.