Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] container

Olá bom dia, como está? vi aqui a definição do container optional<>, mas o que é um container ? Havia entendido que opional<> seria uma especie de array...

Obrigado Mauricio G

1 resposta
solução!

Olá Maurício, como vai?

O Optional em Java é um tipo especial de container que foi introduzido para lidar com valores que podem ou não estar presentes, de forma mais segura e clara do que simplesmente usar null. Ele não é exatamente como um array, mas sim uma espécie de "caixa" que pode conter um único valor ou nenhum valor.

A ideia principal do Optional é evitar o uso de null e, consequentemente, os temidos NullPointerExceptions. Quando você tem um método que pode não retornar um valor, em vez de retornar null, você pode retornar um Optional. Isso deixa claro que o valor pode estar ausente e força quem está usando o método a lidar com essa possibilidade de forma explícita.

Por exemplo, ao invés de retornar um null se um nome não for encontrado, você retornaria um Optional<String> que pode estar vazio ou conter o nome. Isso é feito usando métodos como Optional.ofNullable(), que cria um Optional com o valor, se ele não for null, ou um Optional vazio, caso contrário.

Aqui está um exemplo prático para ilustrar:

public Optional<String> getNome() {
    // O nome pode ser null
    return Optional.ofNullable(nome);
}

Optional<String> optionalNome = getNome();

optionalNome.ifPresent(System.out::println); // Só irá printar o nome se não for null

String nome = optionalNome.orElse("Nome não disponível"); // Irá retornar "Nome não disponível" caso nome seja null

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.