问题阐述
在很多语言中都有枚举类型,作为后来居上的Java语言,其枚举类型有何优势?
专家解答
Java语言枚举类型比其他语言都强大,其具体表现如下。
(1)枚举类型都继承了Enum类
Enum类中包含了常用的枚举操作。例如判断枚举元素的关系、枚举元素的名称(定义时使用的字符串)、枚举元素的序数等。
说明:由于Java中支持单继承,因此枚举类型不能再继承其他类。
(2)枚举类型中可以增加域和方法
程序员可以像是用类那样,在枚举中增加域和方法,从而可以完成复杂的操作。
(3)编译器自动为枚举类型增加新方法
编译器在遇到枚举类型时,自动为其增加两个方法:values和valueOf。前者返回一个包含全部枚举元素的数组,后者返回当前字符串对应的枚举元素。
注意:在Enum类中也定义了valueOf方法,它比编译器增加的方法更加灵活,请读者参考API文档。
专家点评
可以使用编译器增加的values方法来获得枚举中全部元素,再用加强版for循环进行遍历。例如
public class Test {
public static void main(String[]args) {
for (DirectionEnum d :DirectionEnum.values()) {
System.out.println(d); //输出枚举中的元素
}
}
}
关于【C语言编程锦囊】,可能你还想知道:
领取专属 10元无门槛券
私享最新 技术干货