为啥我们在枚举中写 Integer 而不是 int? [复制]
Posted
技术标签:
【中文标题】为啥我们在枚举中写 Integer 而不是 int? [复制]【英文标题】:why are we writting Integer instead of int in enumeration? [duplicate]为什么我们在枚举中写 Integer 而不是 int? [复制] 【发布时间】:2016-09-27 15:38:03 【问题描述】:此问题因情况而异,您将我的问题标记为重复的问题并不能完全阐明我的问题情况答案。
导入 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?
【问题讨论】:
你为什么使用Vector
?这段代码似乎也早于泛型。
【参考方案1】:
你可以写int
而不是Integer
,像这样:
int integer = (Integer) enumeration.nextElement();
由于自动装箱/拆箱 (demo),它可以在 Java 版本 5 或更高版本上编译和运行。
您需要对Integer
而不是int
进行强制转换的原因是Java 将原始类型与Object
派生的引用类型分开处理,因此无法在标准Java 集合中存储原始类型而不包装它们在他们的Object
-派生等效项中。
【讨论】:
感谢您的解释...我现在明白了以上是关于为啥我们在枚举中写 Integer 而不是 int? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
为啥我们需要在 C++ 中使用 `int main` 而不是 `void main`? [复制]
Java 枚举 - 为啥使用 toString 而不是 name