私はJava1.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にはコレクションすらありません。このドキュメントには、メソッドがオーバーロードされておらず、オブジェクトのみが必要であると記載されています。
プリミティブの配列でさえ、すべての配列が実際にオブジェクトを拡張するのは事実ですか?