gpt4 book ai didi

java - 枚举与枚举的区别

转载 作者:太空狗 更新时间:2023-10-29 23:00:23 24 4
gpt4 key购买 nike

enum 数据类型和Enumeration 接口(interface)之间有什么区别吗?我在两者之间感到困惑。

我得到的答案是它们不相关,但这让我想到了另一个问题。

我们不能实例化接口(interface)。那么这条线有什么意义呢

Enumeration days = dayNames.elements();

这是包含该行的完整代码

import java.util.Vector;
import java.util.Enumeration;

public class EnumerationTester {

public static void main(String args[]) {
Enumeration days;
Vector dayNames = new Vector();
dayNames.add("Sunday");
dayNames.add("Monday");
dayNames.add("Tuesday");
dayNames.add("Wednesday");
dayNames.add("Thursday");
dayNames.add("Friday");
dayNames.add("Saturday");
days = dayNames.elements();
while (days.hasMoreElements()){
System.out.println(days.nextElement());
}
}
}

最佳答案

Enumeration is an interface :实现 Enumeration 的对象界面生成一系列元素,一次一个。连续调用 nextElement方法返回系列的连续元素。

例如,打印 Vector<E> v 的所有元素:

for (Enumeration<E> e = v.elements(); e.hasMoreElements();)
System.out.println(e.nextElement());

enum is a data type :枚举类型是一种特殊的数据类型,它使变量成为一组预定义的常量。该变量必须等于为其预定义的值之一。

例如,您可以指定星期几 enum输入为:

 public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}

public static void main(String[] args)
{
System.out.ptintln(Day.SUNDAY); // print SUNDAY
}

你的第二个问题:

We cannot instantiate interface . So what is the significance of this line

Enumeration days = dayNames.elements();

dayNamesVector , 就像一个集合 List . (存在差异,但这超出了问题的范围。)。然而,当daynames.elements()被调用,它返回 vector daynames 的分量的枚举.返回的 Enumeration 对象将生成添加到此 vector 的所有项目。生成的第一个项目是 index 0 处的项目,然后是 index 1 处的项目, 等等。

关于java - 枚举与枚举的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19445183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com