您的位置:首页 > 编程语言 > Java开发

JAVA中的枚举类型

2017-07-14 16:23 369 查看
在JAVA中,枚举类型的使用需要借助“enum”关键字,下面讨论有关枚举类型的使用及注意事项。

先看一段代码:

import java.util.*;

public class Spiciness {
public enum Spic{
NOT,MILD,MEDIUM,HOT,FLAMING
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Spic howHot = Spic.MEDIUM;
System.out.println(howHot);
}

}此程序输出结果为:



上述程序创建了一个名为Spic的枚举类型,内含五个具名值,按照命名规则,常量用大写字母表示。当创建enum类型时,编译器自动创建toString()方法,以便方便显示某个enum实例的名字,另外还会自动创建ordinal()方法,用来表示某个enum常量的声明顺序,以及static values()方法,用来按照enum常量的声明顺序,产生由这些常量构成的数组,以下代码说明了此点:

import java.util.*;

public class Spiciness {
public enum Spic{
NOT,MILD,MEDIUM,HOT,FLAMING
}
public static void main(String[] args) {
// TODO Auto-generated method stub
for(Spic s : Spic.values()){
System.out.println(s+".ordinal " + s.ordinal());
}
}

}此程序运行结果为:



“enum”关键字为enum生成对应的类时,产生了某些编译器行为,在很大程度上,可以将enum当做其它任何类来处理,其具有自己的方法,可以在switch中应用,如下代码:

import java.util.*;

public class Spiciness {
public enum Spic{
NOT,MILD,MEDIUM,HOT,FLAMING
}
Spic degree;
public Spiciness(Spic degree){
this.degree = degree;
}
public void describe(){
System.out.print("This burrito is ");
switch(degree){
case NOT: System.out.println("not spicy at all.");
break;
case MILD:
case MEDIUM: System.out.println("a little hot.");
break;
case HOT:
case FLAMING:
default: System.out.println("maybe too hot.");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Spiciness plain = new Spiciness(Spic.NOT),
greenChile = new Spiciness(Spic.MEDIUM),
jalapeno = new Spiciness(Spic.HOT);
plain.describe();
greenChile.describe();
jalapeno.describe();
}

}
此程序运行结果为:



由于switch要在有限的可能值集合中选取,所以与neum配合使用效果会很好,大体上,可以将neum用作另一种创建数据类型的方式,直接将所得到的类型拿来使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java neum