解釋在 Java 中使用列舉的限制?
Java 中的列舉 (enum) 是一種資料型別,用於儲存一組常量值。您可以使用列舉來儲存固定值,例如一週中的幾天,一年中的月份等。
您可以使用關鍵字 enum 後跟列舉的名稱來定義列舉,如下所示:
enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}需要注意的幾點
宣告列舉時,請記住以下幾點:
- 建議將常量的名稱全部大寫,例如:
public class EnumerationExample {
enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
}- 您可以在類內定義列舉。
示例
public class EnumerationExample {
enum Days {
Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
}
public static void main(String args[]) {
Days constants[] = Days.values();
System.out.println("Value of constants: ");
for(Days d: constants) {
System.out.println(d);
}
}
}輸出
Value of constants: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
- 您可以在列舉中包含變數和方法,例如:
enum Vehicles {
Activa125, Activa5G, Access125, Vespa, TVSJupiter;
int i; //variable
Vehicles() { //constructor
System.out.println("Constructor of the enumeration");
}
public void enumMethod() {//method
System.out.println("This is a method of enumeration");
}
}但是,如果編寫其他任何內容,列舉的第一行必須始終是常量的宣告,否則會產生編譯時錯誤:
enum Vehicles {
int i; //variable
Activa125, Activa5G, Access125, Vespa, TVSJupiter;
Vehicles() { //constructor
System.out.println("Constructor of the enumeration");
}
public void enumMethod() {//method
System.out.println("This is a method of enumeration");
}
}編譯時錯誤
Vehicles.java:1: error: <identifier> expected
enum Vehicles {
^
Vehicles.java:2: error: ',', '}', or ';' expected
int i; //variable
^
Vehicles.java:3: error: <identifiergt; expected
Activa125, Activa5G, Access125, Vespa, TVSJupiter;
^
3 errors- 您不能在方法內定義列舉。如果您嘗試這樣做,它會產生一個編譯時錯誤,提示“列舉型別不能是區域性型別”。
public class EnumExample{
public void sample() {
enum Vehicles {
Activa125, Activa5G, Access125, Vespa, TVSJupiter;
}
}
}編譯時錯誤
EnumExample.java:3: error: enum types must not be local
enum Vehicles {
^
1 error
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP