Java · Intermediário · Inglês · Técnico
Optional
Contêiner que pode ou não conter um valor, usado como tipo de retorno para dizer explicitamente que o resultado talvez não exista.
Onde usar
Aparece em findById e em findFirst. Em review: 'não use Optional em campo nem em parâmetro' e 'não chame get() sem verificar'.
Em código
Optional<String> nome = repo.buscar(1);
String texto = nome
.map(String::trim)
.orElse("anônimo");
nome.ifPresent(System.out::println);Exemplos
Return an Optional when the result may not exist.
Retorne um Optional quando o resultado puder não existir.
Never call get() without checking if the value is present.
Nunca chame get() sem checar se o valor está presente.
Cuidado
Optional.get() sem checar lança NoSuchElementException e traz de volta o problema do null; prefira orElse, orElseThrow ou map.
Antônimos
null