array java arrays arraycopy

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.