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.