Me ha empezado a gustar mucho el uso de enumeraciones de C # y Java en mi código por varias razones:
- Son mucho más seguros para los tipos que los números enteros, las cadenas o los conjuntos de indicadores booleanos.
- Conducen a un código más legible.
- Es más difícil establecer una enumeración en un valor no válido que un int o una cadena.
- Facilitan el descubrimiento de los valores permitidos para una variable o parámetro.
- Todo lo que he leído indica que funcionan tan bien como los números enteros en C # y la mayoría de las JVM.
Sin embargo, el marco de Android tiene numerosos casos en los que es necesario pasar indicadores de varios tipos, pero ninguno de ellos parece usar enumeraciones. Un par de ejemplos en los que yo creo que su uso sería beneficioso son Toast.LENGTH_SHORT
/ Toast.LENGTH_LONG
e View.GONE
, View.VISIBLE
, etc.
¿Por qué es esto? ¿Las enumeraciones funcionan peor que los valores enteros simples en Dalvik? ¿Hay algún otro inconveniente del que no tenga conocimiento?