Comment ne peut-on pas comparer les deux valeurs enum par '<'?

Si enum implémente Comparable alors pourquoi ne peux pas comparer avec < ou >?

public class Dream    
{
    public static void main(String... args)
    {
        System.out.println(PinSize.BIG == PinSize.BIGGER); //false
        System.out.println(PinSize.BIG == PinSize.BIG); //true
        System.out.println(PinSize.BIG.equals(PinSize.BIGGER));//false
        System.out.println(PinSize.BIG > PinSize.BIGGERER);//compilation error
        //can't be compared
        System.out.println(PinSize.BIG.toString().equals(PinSize.BIGGER));//#4
        PinSize b = PinSize.BIG ;
        System.out.println( b instanceof Comparable);//true
    }  
}
enum PinSize { BIG, BIGGER, BIGGERER };
  • Ce n'cette question a à voir avec le SCJP/OCPJP?
  • C'est dans les sujets d'examen. chapitre 1: Déclarations, d'Initialisation et de Cadrage * Développer du code qui déclare les classes (y compris le résumé et toutes les formes de classes imbriquées), les interfaces, et les énumérations, et comprend l'utilisation appropriée de l'emballage et de déclarations d'importation (y compris statique des importations). * Développer du code qui déclare, initialise, et utilise les primitives, les tableaux, les énumérations et les objets statiques, de l'instance, et les variables locales. Aussi, l'utilisation légale des identificateurs pour les noms de variables. education.oracle.com/pls/web_prod-plq-dad/...
InformationsquelleAutor Joe | 2012-10-25