Item 35: Use os campos de instância em vez dos valores ordinais
Java Efetivo (livro)
Posted on June 20, 2024
1. Problemas com o Uso de Ordinais:
Manutenção Difícil:
Reordenar as constantes de enum quebra a lógica dependente do método ordinal().Limitações de Valor Int:
Não é possível associar múltiplas constantes ao mesmo valor int.Constantes Falsas Necessárias:
Para valores int intermediários sem denominação, você precisa adicionar constantes não representativas.
2. Exemplo de Problema:
Reordenar Constantes:
Quebraria numberOfMusicians().Adicionar Constantes:
Impossível sem conflitos de valores.
3. Solução Recomendada:
- Use Campos de Instância:
4. Benefícios da Solução:
Flexibilidade:
Permite associar múltiplas constantes ao mesmo valor int.
Manutenção Simplificada: Reordenar constantes ou adicionar novas não quebra a lógica existente.Evita Constantes Falsas:
Não há necessidade de adicionar valores intermediários desnecessários.
5. Recomendação Geral:
Evitar Ordinais:
A especificação do Enum sugere que o método ordinal() deve ser usado principalmente por estruturas de dados baseadas em enums, como EnumSet e EnumMap.Uso Restrito:
Se não estiver criando tais estruturas, é melhor evitar o método ordinal().
Conclusão:
Utilize campos de instância em enums para armazenar valores associados, garantindo maior flexibilidade, facilidade de manutenção e evitando a criação de constantes artificiais.
Posted on June 20, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.