Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Dominando Representações String em Enums Java

Dominando Representações String em Enums Java

Descubra como enums Java expõem valores string, como personalizá-los com sobrescrita e boas práticas para código limpo e sustentável.

Representação String Padrão

O tipo enum do Java fornece automaticamente uma representação string para cada constante. Por padrão, chamar toString() ou name() retorna o identificador da constante. O exemplo a seguir demonstra este comportamento:

enum Tamanho { PEQUENO, MEDIO, GRANDE, EXTRAGRANDE } class Main { public static void main(String[] args) { System.out.println("valor string de PEQUENO é " + Tamanho.PEQUENO.toString()); System.out.println("valor string de MEDIO é " + Tamanho.MEDIO.name()); } }

Saída

valor string de PEQUENO é PEQUENO valor string de MEDIO é MEDIO 

A saída confirma que o valor string padrão iguala o nome da constante do enum.

Sobrescrevendo o Valor String Padrão

Enquanto name() é final e não pode ser sobrescrito, toString() está aberto para personalização. Isso permite que cada constante apresente uma string mais amigável ou específica ao domínio. Abaixo está um exemplo conciso onde cada constante sobrescreve toString() individualmente:

enum Tamanho { PEQUENO { @Override public String toString() { return "O tamanho é pequeno."; } }, MEDIO { @Override public String toString() { return "O tamanho é médio."; } }; } class Main { public static void main(String[] args) { System.out.println(Tamanho.MEDIO.toString()); } }

Saída

O tamanho é médio. 

Neste exemplo, cada constante do enum fornece sua própria implementação de toString(), permitindo saída textual mais rica.

Padrões Avançados para Strings de Enum

Para enums maiores ou quando múltiplas propriedades são necessárias, uma abordagem baseada em construtor mantém o código organizado:

enum Tamanho { PEQUENO("P", "O tamanho é pequeno."), MEDIO("M", "O tamanho é médio."), GRANDE("G", "O tamanho é grande."); private final String codigo; private final String descricao; Tamanho(String codigo, String descricao) { this.codigo = codigo; this.descricao = descricao; } @Override public String toString() { return descricao; } public String getCodigo() { return codigo; } } 

Usar construtor centraliza dados e mantém o enum legível. O método toString() permanece flexível, e getters adicionais expõem valores brutos quando necessários.

Notas Importantes

• name() é um método final definido em java.lang.Enum e não pode ser sobrescrito. API Java Enum

• Sobrescrever toString() afeta System.out.println(), serialização e qualquer código que dependa da representação string do enum. Use criteriosamente para evitar quebrar expectativas de contrato.

Para insights mais profundos sobre padrões de design de enum, confira nosso guia sobre melhores formas de criar strings de enum.

Java

  1. Dominando Strings em C#: Fundamentos, Operações e Técnicas Avançadas
  2. Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
  3. Dominando Strings em Java: Criação, Métodos e Boas Práticas
  4. Dominando Interfaces em Java: Conceitos, Implementação e Boas Práticas
  5. Dominando Enums em Java: Guia Completo de Enums e Enum Classes
  6. Construtores de Enum em Java Explicados com Exemplo Prático
  7. Entendendo Java String.charAt(): Sintaxe, Tipo de Retorno, Exceções e Exemplo Prático
  8. Dominando Java String.endsWith(): Como Verificar Sufixos de String com Exemplos
  9. Dominando Substituição de Strings em Java: replace(), replaceAll() e replaceFirst() Explicados
  10. Java String toLowerCase() & toUpperCase(): Converter Caixa de Texto com Consciência de Locale