为什么我们在枚举中写入Integer而不是int?

时间:2016-05-29 21:01:36

标签: java enumeration

这个问题根据情况而有所不同,您将我的问题标记为重复的问题并未完全澄清我的问题情况答案。

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

public class EnumerationDemo {

    public static void main(String[] args) {
        Vector vector = new Vector();
        for (int item = 1; item <= 5; item++) {
            vector.addElement(item);
        }
        System.out.println(vector);
        Enumeration enumeration = vector.elements();
        while (enumeration.hasMoreElements()) {
            Integer integer = (Integer) enumeration.nextElement();
            System.out.println(integer);
        }
    }
}

为什么我们在枚举中写入整数而不是int?

1 个答案:

答案 0 :(得分:1)

您可以写int代替Integer,如下所示:

int integer = (Integer) enumeration.nextElement();

由于自动装箱/取消装箱(demo),因此在Java 5或更高版本上进行编译和运行。

你需要对Integer而不是int进行强制转换的原因是Java将原始类型与Object派生的引用类型分开处理,因此无法将原语存储在标准Java集合,而不将它们包装在Object派生的等效项中。