열거는 식별자가 있는 상수 집합을 선언하는 데 사용되는 명명된 정수 상수의 모음입니다. 예를 들어, 사람의 성별은 "남성" 또는 "여성"만 될 수 있고, 주는 7일 중 하나만 될 수 있습니다. 이처럼 변수에 여러 개의 고정 가능한 값이 있을 경우 열거형으로 정의할 수 있습니다.
Java 열거 클래스는 enum 키워드를 사용하여 정의되며 각 상수는 쉼표로 구분되며 끝에 세미콜론이 사용됩니다.
enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 }
enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 } public class SeasonEnum { public static void main(String[] args) { System.out.println("请输入季节"+"\n"+"1、春天"+"\n"+"2、夏天"+"\n"+"3、秋天"+"\n"+"4、冬天"); Scanner scan =new Scanner(System.in); int seasons= scan.nextInt(); change(seasons); } private static void change(int seasons) { Season season=Season.spring; switch (seasons){ case 1: season=Season.spring; break; case 2: season=Season.summer; break; case 3: season=Season.autumn; break; case 4: season=Season.winter; break; } System.out.println(season); } }
enum 정의됨 열거 클래스는 기본적으로 java.lang.Enum 클래스를 상속하고 java.lang.Serialized 및 java.lang.Comparable 두 인터페이스를 구현합니다.
values(), ordinal() 및 valueOf() 메소드는 java.lang.Enum 클래스에 있습니다.
values()는 열거 클래스의 모든 값을 반환합니다.
ordinal() 메소드는 배열 인덱스와 마찬가지로 각 열거형 상수의 인덱스를 찾을 수 있습니다.
valueOf() 메서드는 지정된 문자열 값의 열거 상수를 반환합니다.
values( ) 메서드
는 열거형의 모든 멤버를 배열 형식으로 반환할 수 있으며, 이 메서드를 통해 열거형 형식의 멤버를 가져올 수도 있습니다. values( ) 方法
可以将枚举的所有成员以数组形式返回,也可以通过该方法获取枚举类型的成员。
enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 } } public class SeasonEnum { public static void main(String[] args) { // 迭代季节 for (Season season : Season.values()) { System.out.println(season); } } }
结果:
ordinal() 方法
enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 } } public class SeasonEnum { public static void main(String[] args) { // 迭代季节 for (Season season : Season.values()) { // ordinal可以找到每个枚举常量的索引,就像数组索引一样。 System.out.println(season+" 索引为 "+season.ordinal()); } } }
결과:
ordinal() method
ordinal() 메소드
는 열거형에서 멤버의 인덱스 위치를 얻을 수 있습니다. 다음 예제에서는 3개의 멤버를 포함하는 열거형 Signal을 만든 다음 ordinal() 메서드를 호출하여 멤버와 해당 인덱스 위치를 출력합니다. enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 } } public class SeasonEnum { public static void main(String[] args) { // 使用 valueOf() 返回枚举常量,不存在的会报错 IllegalArgumentException System.out.println(Season.valueOf("summer")); // System.out.println(Season.valueOf("summ")); } }
valueOf () method
열거에는 구체적 메소드와 추상 메소드가 모두 포함될 수 있습니다. 열거형 클래스에 추상 메서드가 있는 경우 열거형 클래스의 모든 인스턴스는 이를 구현해야 합니다.
아아아아위 내용은 Java에서 열거형을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!