Pergunta

voltar

Eu só tenho para o desenvolvimento MIDP após cerca de 4 anos de .NET 2 e Java 5 e 6. Durante esse tempo eu tenho que gostam de usar enums muito.

Enum é um recurso de linguagem que permite que um desenvolvedor para ter mais confiança em algumas partes de seu código, especialmente para ser capaz de evitar ou detectar erros antes (durante a compilação). Algumas outras vantagens pode ser encontrada aqui: http: // java.sun.com/j2se/1.5.0/docs/guide/language/enums.html

Eu achei estranho que eu não poderia encontrá-los em MIDP 2.0. Eu tenho esta mensagem de erro:

"O tipo 'enum' não deve ser usado como um identificador, uma vez que é uma reservados palavra-chave do nível de fonte 1.5"

Eu tive alguma experiência em Java 1.4 a volta quando, mas eu não lembro disso. Claro que há alguns recursos das versões mais recentes de suas linguagens de alto nível que você começa a tomar por certo ...

De qualquer forma, aqui está uma boa recomendação para o que fazer sem eles (se você está desenvolvendo MIDP ou lidar com código antes de Java 5): http: // www.javacamp.org/designPattern/enum. html

Resumindo it up (para mais detalhes e uma boa explicação, siga o link anterior Muito obrigado ao autor original.):

//The typesafe enum pattern
public class Suit {
    private final String name;

    public static final Suit CLUBS =new Suit("clubs");
    public static final Suit DIAMONDS =new Suit("diamonds");
    public static final Suit HEARTS =new Suit("hearts");
    public static final Suit SPADES =new Suit("spades");    

    private Suit(String name){
        this.name =name;
    }
    public String toString(){
        return name;
    }

}

Você tem outras abordagens diferentes para esta questão?

Foi útil?

Solução

O problema com MIDP é que ele é preso em Java nível de linguagem 1.2 (alguns dizem que 1.3 ou 1.4, mas isso não é o ponto) e enumerações foram introduzidos em 1,5. Seu padrão é um passo na direção certa, mas carece de algumas funcionalidades de enums "reais", como a atribuição de um número ordinal para cada constante.

Você pode ter problemas semelhantes com os genéricos, anotações, etc, que também foram introduzidos em 1,5. Existem ferramentas para converter Java 1.5 de volta para 1.2, alguns estão listados aqui . Assim, você deve ser capaz de código em 1,5 e executado em MIDP. Note, no entanto, que o uso dessas ferramentas vai complicar o processo de compilação consideravelmente, enquanto a solução que você mencionou não.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top