gpt4 book ai didi

java - Java的Vector如何添加原始数组?

转载 作者:行者123 更新时间:2023-11-29 09:39:43 26 4
gpt4 key购买 nike

我使用的是 Java 1.3,这意味着它没有原语自动装箱功能。这意味着以下代码:

Vector v = new Vector();
byte b = (byte) 4;

v.addElement(b);

不编译,编译错误:

The method addElement(Object) in the type Vector is not applicable for the arguments (byte)

所有原语都必须被包裹起来,像这样:

v.addElement(new Byte(b));

话虽如此,我注意到这段代码可以正常编译和运行:

Vector v = new Vector();
byte[] b = new byte[]{1, 2};

v.addElement(b);

这怎么可能?我的 java 版本甚至没有集合,而且 this documentation表示该方法没有重载,它只需要对象。

是不是所有数组,甚至基元数组,实际上都扩展了 Object?

最佳答案

如您所料,所有数组,甚至只包含基元的数组,都是对象。它们是引用类型,它简化了 Java,使每个引用类型都成为 Object

从某种意义上说,无论数组包含什么类型,它们的行为都是相同的。 “原始”是类型的属性,而不是容器的属性。

关于java - Java的Vector如何添加原始数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12125480/

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