Java 中列舉介面和列舉有什麼區別?


Java 中的列舉是一種資料型別,它儲存一組常量值。您可以使用它們來儲存固定值,例如一週中的幾天、一年中的幾個月等。

您可以使用關鍵字 enum 後跟列舉的名稱來定義列舉,如下所示:

enum Days {
   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

就像陣列一樣,列舉中的元素/常量使用從 0 開始的數字來識別,在上例中,日期使用數字來識別,如下所示:

從列舉中檢索值

您可以使用 **values()** 方法檢索列舉的所有元素。

示例

enum Days {
   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
public class EnumerationExample {
   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

列舉介面

在 java.util 包中,Java 提供了一個名為 Enumeration 的介面,實現此介面的物件生成一系列元素,您可以使用 **nextElement()** 方法從該物件中檢索元素。

像 Vector、HashTable 等集合都有一個名為 elements() 的方法,它返回一個包含集合中所有元素的 Enumeration(介面)物件。使用此物件,您可以使用 nextElement() 方法逐個獲取元素。

如果在空集合上呼叫此方法,或者在到達集合末尾後呼叫此方法,則會在執行時生成 NosuchElementException。

示例

import java.util.Enumeration;
import java.util.Vector;
public class EnumerationExample {
   public static void main(String args[]) {
      //instantiating a Vector
      Vector<Integer> vec = new Vector<Integer>( );
      //Populating the vector
      vec.add(1254);
      vec.add(4587);
      vec.add(5211);
      vec.add(4205);
      vec.add(1124);
      vec.add(8115);
      //Retrieving the elements using the Enumeration
      Enumeration<Integer> en = vec.elements();
      while(en.hasMoreElements()) {
         System.out.println(en.nextElement());
      }
   }
}

輸出

1254
4587
5211
4205
1124
8115

更新於: 2019年8月7日

1K+ 瀏覽量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.