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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP