我使用的是 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 版本甚至没有集合,而且这个文档说该方法没有重载,它只需要对象。
是不是所有数组,甚至是基元数组,实际上都扩展了 Object?