java - ¿Por qué "System.arraycopy" usa "Object" en lugar de "Object[]"?
arraycopy java (2)
Sólo curioso:
Alguien sabe por qué el método System.arraycopy
usa Object
como tipo para src
y dest
? ¿Sería perfectamente posible utilizar Object[]
lugar?
¿Por qué definir?
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
en lugar de
arraycopy(Object[] src, int srcPos, Object[] dest, int destPos, int length)
?
Los tipos de matrices primitivas como boolean[]
y double[]
no extienden Object[]
pero sí extienden Object
Este método le permite copiar cualquier tipo de matriz, por lo que el tipo es Objeto.
int[] a =
int[] b =
System.arraycopy(a, 0, b, 0, a.length);
Se escribiría de forma más estática si tuviera una versión para Object[]
y cada p[]
donde p es una primitiva. Como los numerosos métodos de sobrecarga en la clase Arrays
.
El autor de System.arraycopy
era perezoso o no le gustaba el desorden en la API.