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
广告