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

why are we writting Integer instead of int in enumeration?

这个问题因情况而异,您将我的问题标记为重复的问题并没有完全阐明我的问题情况答案。

进口java.util.Enumeration; 导入 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?

你可以写 int 而不是 Integer,像这样:

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

由于 autoboxing/unboxing (demo).

,这可以在 Java 版本 5 或更高版本上编译和运行

您需要转换为 Integer 而不是 int 的原因是 Java 将基本类型与 Object 派生的引用类型分开处理,使得不可能在标准 Java 集合中存储基元而不将它们包装在 Object 派生的等价物中。