package myjava;public class Myclass
{
    public static void main(String[] args)
    {
        for(Spiciness s:Spiciness.values())
        {
            System.out.println(s+",ordinal "+s.ordinal());
        }
    }
}
enum Spiciness
{
    NOT, MILD, MEDIUM, HOT, FLAMING
}
Spiciness.values()这里values(),ordinal(),都是从哪来的,APi没查到,谁给讲讲

解决方案 »

  1.   

    ordinal(),返回枚举常量的序数,初始序数为零,这是个final类型的方法!
      

  2.   

    我帮你下面加了个int数组的输出,int数组输出应该看得懂,给你对照了看下.Spiciness.values()对应数组m的集合,s.ordinal()返回int类型,输出的是序列.public   class   Myclass 

            public   static   void   main(String[]   args) 
            { 
                    for(Spiciness   s:Spiciness.values()) 
                    { 
                            System.out.println(s+",ordinal   "+s.ordinal()); 
                    } 
                    int[] m={1,2,3,4,5};
                    for(int i:m){
                     System.out.println(i+", ");
                    }
            } 

    enum   Spiciness 

            NOT,   MILD,   MEDIUM,   HOT,   FLAMING 
    }
      

  3.   

    你到Api里去查Enum里有这个方法的. int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 
      

  4.   

    不错是有个Enum类,但是他们真的是一个东西吗?有人能明确的告诉我吗?那values又是哪来的,那个类下没有values方法(所以我怀疑),4楼的这个程序我能看的懂,我只是问些细节的地方
      

  5.   

    拜托!不是有个类叫enum!而是有一个和类类似的东西叫enum!
    enum是个关键字,不是一个类。
    用enum定义的结构也会编译成.class文件,就像interface也会编译成.class文件一样。enum定义好了以后可以像使用类一样来使用它,里面的成员相当于类的静态属性(但不能被改变),values()是enum固有的一个方法。
    谁说一个方法一定要出现在类的定义中才可以使用??请问,你定义的哪个数组中有length这个属性?你不是一直在用它吗?
    很多属性和方法是底层相关的,是编译器在编译的时候实现的。
      

  6.   

    那请问那些相关的也就是类中没有的东西在哪查呢?总得有个地方规定吧,就像数组的length属性?,只凭经验?