看不懂的一个小程序,该怎么解决
看不懂的一个小程序
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没查到,谁给讲讲
------解决方案--------------------
ordinal(),返回枚举常量的序数,初始序数为零,这是个final类型的方法!
------解决方案--------------------
我帮你下面加了个int数组的输出,int数组输出应该看得懂,给你对照了看下.Spiciness.values()对应数组m的集合,s.ordinal()返回int类型,输出的是序列.
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没查到,谁给讲讲
------解决方案--------------------
ordinal(),返回枚举常量的序数,初始序数为零,这是个final类型的方法!
------解决方案--------------------
我帮你下面加了个int数组的输出,int数组输出应该看得懂,给你对照了看下.Spiciness.values()对应数组m的集合,s.ordinal()返回int类型,输出的是序列.
- Java code
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 }
------解决方案--------------------
拜托!不是有个类叫enum!而是有一个和类类似的东西叫enum!
enum是个关键字,不是一个类。
用enum定义的结构也会编译成.class文件,就像interface也会编译成.class文件一样。
enum定义好了以后可以像使用类一样来使用它,里面的成员相当于类的静态属性(但不能被改变),values()是enum固有的一个方法。
谁说一个方法一定要出现在类的定义中才可以使用??请问,你定义的哪个数组中有length这个属性?你不是一直在用它吗?
很多属性和方法是底层相关的,是编译器在编译的时候实现的。