Encadeamento com Optional
Substitua verificações de null aninhadas por um pipeline com Optional.
Comparação de Código
✕ Java 8
String city = null;
if (user != null) {
Address addr = user.getAddress();
if (addr != null) {
city = addr.getCity();
}
}
if (city == null) city = "Unknown";
✓ Java 9+
String city = Optional.ofNullable(user)
.map(User::address)
.map(Address::city)
.orElse("Unknown");
Viu um problema com este código? Nos avise.
Por que a forma moderna ganha
Encadeável
Cada .map() trata null de forma transparente.
Fluxo linear
Leia da esquerda para a direita em vez de blocos if aninhados.
À prova de NPE
null é tratado em cada etapa — nenhuma falha possível.
Abordagem Antiga
Verificações de null aninhadas
Abordagem Moderna
Pipeline com Optional
Desde o JDK
9
Dificuldade
Iniciante
Suporte JDK
Encadeamento com Optional
Disponível
Disponível desde o JDK 8+ (melhorado no 9+)
Como funciona
O Optional.map() encadeia valores que podem ser null, interrompendo no primeiro null encontrado. O orElse() fornece o valor padrão. Isso elimina a pirâmide de verificações de null aninhadas.
Documentação Relacionada