La Systemclase Java contiene varios miembros de datos y métodos que tienen mucho sentido estar allí. Por ejemplo:
System.in (variable)
System.err (variable)
System.out (variable)
System.exit(int)
System.gc()
System.getSecurityManager()
Sin embargo, hay un método que no entiendo al estar allí:
System.arraycopy(Object, int, Object, int int)
Copiar una matriz a otra me parece que pertenece a la Arraysclase; siguiente de la documentación:
Esta clase contiene varios métodos para manipular matrices (como ordenar y buscar). Esta clase también contiene una fábrica estática que permite que las matrices se vean como listas.
Los métodos para manipular matrices es lo que me lleva a esta conclusión, ya que copiar una matriz a otra es seguramente una manipulación de la matriz , ¿verdad?
Entonces mi pregunta: ¿por qué está arraycopy()adentro System?
¿Es una reliquia de una Systemimplementación temprana de la clase Java ? El método no está marcado como obsoleto, por lo que estoy un poco perdido. Además, no sigue el estándar Java camelCase, lo que me hace volver a pensar que es una reliquia del diseño inicial de la biblioteca.