Tengo una enumeración que es privada, para no estar expuesta fuera de la clase. ¿Hay alguna forma en que pueda hacer una importación estática de ese tipo, para que no tenga que escribir el tipo de enumeración cada vez? ¿O hay una mejor manera de escribir esto? Ejemplo:¿Puedo hacer una importación estática de una subclase privada?
package kip.test;
import static kip.test.Test.MyEnum.*; //compile error
public class Test
{
private static enum MyEnum { DOG, CAT }
public static void main (String [] args)
{
MyEnum dog = MyEnum.DOG; //this works but I don't want to type "MyEnum"
MyEnum cat = CAT; //compile error, but this is what I want to do
}
}
no, enum proporciona otras formas de seguridad además de la mera encapsulación; por ejemplo, puede usarlas en instrucciones de cambio, y puede obtener advertencias si omite una. Simplemente mantente con el calificador: hay peores problemas de verbosidad en java;) – Chii
@akf: Chii tiene razón, en mi código actual las enumeraciones tienen un comportamiento más allá de lo que se puede hacer trivialmente con las constantes estáticas. Simplemente simplifiqué todo eso para la pregunta, así que sería el mínimo ejemplo. Supongo que me quedé atrapado con nombres de calificador largos (mucho más que "MyEnum" en mi código real, por desgracia ...) – Kip
@Kip: en este caso, ¿por qué aceptó esta respuesta? – Thilo