sort descending array java interface casting comparable

java - descending - ¿Por qué Arrays.sort toma Object[] en lugar de Comparable[]?



sort arraylist object java (2)

De lo contrario no puedes pasar Object[] in.

Me preguntaba por qué el método de clasificación de la clase Arrays está solicitando un parámetro de tipo Object []. Por qué el parámetro no es del tipo Comparable []. Si no pasa un Comparable [], está generando una ClassCastException.

¿Por qué ... la ordenación estática pública vacía (Objeto [] a) y no la ordenación pública estática vacía (Comparable [] a) ? Gracias


Porque la segunda forma requeriría una reasignación de la matriz. Incluso si sabe que su matriz solo contiene comparables, no puede simplemente convertirla en Comparable [] si el tipo original era Objeto [], ya que el tipo de matriz no coincide.

Tu puedes hacer:

Object[] arr = new String[0]; String[] sarr = (String[]) arr;

Pero no puedes hacer:

Object[] arr = new Object[0]; String[] sarr = (String[]) arr;

Así que es una optimización prematura :)