java中enum用法
enum是Java的一项重要特性,它可以把一组有关联或相似的常量定义在一张表中,极大地提高了代码的可读性和可维护性。每一个enum变量都是一个常量,而使用enum可以把所有可能的常量值放在一个表中,非常方便维护和管理,同时也可以避免大量的if-else语句,从而减少代码量。
enum是Java语言中的一个类,它的定义和Java其他的类一样,可以定义自己的属性、方法。使用enum可以定义某一类型的变量,该变量只能取enum定义的几个值之一,例如性别枚举,只能定义为男、女、未知三种性别,仅此而已,不能再定义其他的值,这样可以保证程序的可靠性。
在使用enum时,需要在指定包中引入java.lang.Enum,然后使用public enum来定义一个枚举类,当定义完枚举类后,就可以在枚举类中定义自己的变量,变量可以是任何基本数据类型或引用数据类型。下面是一个代码示例:
public enum Gender {
MALE, FEMALE, UNKNOWN
}
定义完枚举类后,就可以像使用其他类型变量一样使用枚举类,如:Gender gender = Gender.MALE;
如果在枚举类中定义了构造方法,使用枚举类的时候应该使用new关键字来创建实例,如:Gender gender = new Gender(Gender.MALE);
枚举类型一旦定义完成,就可以在switch语句中使用,比如下面的代码:
public void genderTest(Gender gender) {
switch (gender) {
case MALE:
System.out.println(This is male
break;
case FEMALE:
System.out.println(This is female
break;
case UNKNOWN:
System.out.println(This is unknown
break;
}
}
此外,可以使用EnumMap,来让enum类型做映射,例如:
EnumMap<Gender,String> map = new EnumMap<Gender,String>(Gender.class);
map.put(Gender.MALE,男
map.put(Gender.FEMALE,女
map.put(Gender.UNKNOWN,未知
String value = (Gender.MALE);
System.out.println(MALE的对应值: + value);
最后,使用enum类型时,不仅仅可以使用EnumMap,还可以使用EnumSet集合,来实现对enum类型的操作,代码如下:
EnumSet<Gender> set = EnumSet.of(Gender.MALE,Gender.FEMALE);
enum c++ System.out.println(EnumSet中包含: + set);
以上就是Java中enum类型的使用,可以用来代替常规的常量、if-else判断等,极大地方便了编程,提高了代码的可读性和可维护性。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论