Os poderes do Enum

Extraindo estratégias e complexidade

 por Ricardo Lino



O que é?


Enumeração, constantes ou valores enumerados(finitos).


ex: dias da semana, estados, cores, etc...




MOTIVO






font: http://www.javaworld.com/article/2077487/core-java/java-tip-122--beware-of-java-typesafe-enumerations.html


MOTIVO


TYPESAFE ?




font: http://www.javaworld.com/article/2077487/core-java/java-tip-122--beware-of-java-typesafe-enumerations.html


MOTIVO


TYPESAFE ?


font: http://www.javaworld.com/article/2077487/core-java/java-tip-122--beware-of-java-typesafe-enumerations.html










font: http://www.javaworld.com/article/2077487/core-java/java-tip-122--beware-of-java-typesafe-enumerations.html

font: http://www.javaworld.com/article/2077487/core-java/java-tip-122--beware-of-java-typesafe-enumerations.html




Outro motivo. E quando as constantes tem relações com outros dados?









  • Enums são imutáveis, o que é ótimo para ambientes com alta concorrência;
  • Enums são singleton por padrão: temos uma única instância de cada constante por aplicação;
  • Sua natureza polimórfica nos permite trabalhar com polimorfismo de diferentes formas, como sobrecarga de métodos, métodos abstratos ou interfaces;
  • Facilita trabalhar com os padrões de projeto Template methodStrategy e State;
  • Uma enum já possui uma boa implementação para os métodos equalshashCodetoString;
  • Comparar enums é muito simples, basta usarmos o operador ==;
  • Uma é enum é facilmente serializada para String ou int;
  • Tem sua própria API de coleções que é type safe: EnumMap e EnumSet;

font: http://blog.triadworks.com.br/enums-sao-mais-que-constantes




Obrigado

Os Poderes do ENUM

By Ricardo Mozart Lino

Os Poderes do ENUM

  • 305