Question

Je viens de rentrer au développement MIDP après environ 4 ans de .NET 2 et Java 5 et 6. Pendant ce temps, je suis arrivé à l'aide comme énumérations beaucoup.

Enum est une caractéristique de langage qui permet à un développeur d'avoir plus de confiance dans certaines parties de son code, spécialement pour être en mesure d'éviter ou de détecter des erreurs plus tôt (lors de la compilation). D'autres avantages se trouvent ici: http: // java.sun.com/j2se/1.5.0/docs/guide/language/enums.html

Je l'ai trouvé étrange que je ne pouvais pas les trouver dans MIDP 2.0. J'ai reçu ce message d'erreur:

  

"Type « ENUM » ne doit pas être utilisé comme   identifiant, car il est une réserve   mot-clé du niveau de la source 1.5"

J'ai eu une certaine expérience en Java 1.4 un certain temps, mais je ne me souvenais pas cela. Il y a que certaines fonctionnalités de nouvelles versions de vos langages de haut niveau que vous obtenez de prendre pour acquis ...

Quoi qu'il en soit, voici une bonne recommandation pour ce qu'il faut faire sans eux (si vous développez MIDP ou de traiter avec le code avant Java 5): http: // www.javacamp.org/designPattern/enum. html

Résumant vers le haut (pour plus de détails et une bonne explication, cliquez sur le lien précédent Un grand merci à l'auteur 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;
    }

}

Avez-vous des autres différentes approches de cette question?

Était-ce utile?

La solution

Le problème avec MIDP est qu'il est coincé au niveau du langage Java 1.2 (certains disent 1.3 ou 1.4 mais c'est pas le point) et énumérations ont été introduits en 1,5. Votre modèle est un pas dans la bonne direction, mais il lui manque quelques fonctionnalités de « vrais » énumérations, comme l'attribution d'un numéro d'ordre à chaque constante.

Vous pourriez rencontrer des problèmes similaires avec les génériques, les annotations, etc., qui ont également été introduits dans 1,5. Il existe des outils pour convertir Java 1.5 revenir à 1.2, certains sont énumérés ici . Comme ça, vous devriez être en mesure de coder 1,5 et exécuter sur MIDP. Notez toutefois que l'utilisation de ces outils va compliquer votre processus de construction considérablement, alors que la solution que vous avez mentionné ne fonctionne pas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top