java枚举的概念_Java 枚举(enum)

1、枚举(enum)

enum是一个特殊的类,代表一组常量(不可更改的变量,如,final变量)。

要创建enum,请使用enum关键字(而不是类或接口),并用逗号分隔常量。请注意,它们应使用大写字母:

例如:

访问enum中常量可以使用.的方式访问:

enum Level {

LOW,

MEDIUM,

HIGH

}

如访问枚举类型Level中LOW则使用Level.LOW

2、类中定义枚举

还可以在类中包含一个enum:

例如:

输出将是:public class Main{

enum Level {

LOW,

MEDIUM,

HIGH

}

public static void main(String[] args){

Level myVar = Level.MEDIUM;

System.out.println(myVar);

}

}

3、switch语句中的enum

枚举常用于switch语句中,来判断相应的值:

例如:public class Main{

public static void main(String[] args){

Level myVar = Level.MEDIUM;

switch(myVar) {

case LOW:

System.out.println("Low level");

break;

case MEDIUM:

System.out.println("Medium level");

break;

case HIGH:

System.out.println("High level");

break;

}

}

}

enum Level {

LOW,

MEDIUM,

HIGH

}

4、循环遍历枚举类型

枚举类型具有values()方法,该方法返回所有枚举常量的数组。 当要遍历枚举的常量时,此方法很有用:

例如:for(Level myVar : Level.values()){

System.out.println(myVar);

}

5、枚举的values(), ordinal() 和 valueOf() 方法

enum 定义的枚举类默认继承了java.lang.Enum 类,并实现了java.lang.Seriablizable和 java.lang.Comparable 两个接口。

values(), ordinal() 和 valueOf()方法位于 java.lang.Enum 类中:

values() 返回枚举类中所有的值。

ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样。

valueOf()方法返回指定字符串值的枚举常量。

6、枚举与类之间的区别

枚举可以像class一样具有属性和方法。唯一的区别是枚举常量是不可更改,不能用于创建对象,并且不能扩展其他类(但可以实现接口)。

1、枚举(enum) enum是一个特殊的类,代表一组常量(不可更改的变量,如,final变量)。 要创建enum,请使用enum关键字(而不是类或接口),并用逗号分隔常量。请注意,它们应使用大写字母: 例如: 访问enum中常量可以使用.的方式访问: enum Level { LOW, MEDIUM, HIGH } 如访问枚举类型Level中LOW则使用Level.LOW 2、类中定义枚举 还可以在类中包含一个enum: 例如: 输出将是:public class Main{ enum Level { LOW, MEDIUM, HIGH } public static void main(String[] args){ Level myVar = Level.MEDIUM; System.out.println(myVar); } } 3、switch语句中的enum 枚举常用于switch语句中,来判断相应的值: 例如:public class Main{ public static void main(String[] args){ Level myVar = Level.MEDIUM; switch(myVar) { case LOW: System.out.println("Low level"); break; case MEDIUM: System.out.println("Medium level"); break; case HIGH: System.out.println("High level"); break; } } } enum Level { LOW, MEDIUM, HIGH } 4、循环遍历枚举类型 枚举类型具有values()方法,该方法返回所有枚举常量的数组。 当要遍历枚举的常量时,此方法很有用: 例如:for(Level myVar : Level.values()){ System.out.println(myVar); } 5、枚举的values(), ordinal() 和 valueOf() 方法 enum 定义的枚举类默认继承了java.lang.Enum 类,并实现了java.lang.Seriablizable和 java.lang.Comparable 两个接口。 values(), ordinal() 和 valueOf()方法位于 java.lang.Enum 类中: values() 返回枚举类中所有的值。 ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样。 valueOf()方法返回指定字符串值的枚举常量。 6、枚举与类之间的区别 枚举可以像class一样具有属性和方法。唯一的区别是枚举常量是不可更改,不能用于创建对象,并且不能扩展其他类(但可以实现接口)。
经验分享 程序员 微信小程序 职场和发展