如何使用枚举?

时间:2012-03-18 17:05:47

标签: java enumeration

我正在阅读Java中的Enumerations,我遇到的每个示例都使用了Vector,然后使用Vector.elements()来使用Enumeration.nextElement()进行迭代。

我的问题是如何在我的类中使用Enumeration接口,例如,如果我创建一个实现Enumeration的简单类,如下所示:

public class Tester implements Enumeration{

    private int [] arr = new int[5];
    private int iterator = 0;
    private int count = 0;

    public boolean insert(int item)
    {
        if (count < 5)
        {
            arr[count-1] = item;
            count++;
            return true;
        }
        else
        {
            return false;
        }
    }

    public boolean hasMoreElements() {
        if (iterator >= 4)
        {
            return false;
        }
        else
        {
            return true;
        }
    }

    public Object nextElement()
    {
        if (iterator < count)
        {
            iterator++;
            return (Object)arr[iterator -1];
        }
        else
        {
            iterator = 0;
            return nextElement();
        }
    }
}

我的问题是:

  1. 接下来是什么?我的意思是如何使用Enumeration接口 类?我该怎么办(请解释一下目的 枚举并在课堂上实现它?
  2. 如何编写类似的Tester.elements()函数 通过互联网在例子中使用的Vector.elements()?
  3. 它在C#中的等价物是什么?

2 个答案:

答案 0 :(得分:5)

枚举是不应使用的Java 1.0接口。它已被java.util.Iterator所取代。我建议您更喜欢。

答案 1 :(得分:0)

看一下文档,它描述了Enumerations的目的。 http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html

您可能还想查看Iterator接口,它有点重复。