ExpertiDict

Java · Intermediário · Inglês · Técnico

Optional

/ˈɑpʃənəl/substantivo

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

Veja também

Todos os termos de Java