Ответ 1
Поскольку для второй формы потребуется перераспределение массива. Даже если вы знаете, что ваш массив содержит только сравниваемые, вы не можете просто передать его в Comparable [], если исходный тип был Object [], поскольку тип массива не соответствует.
Вы можете сделать:
Object[] arr = new String[0];
String[] sarr = (String[]) arr;
Но вы не можете сделать:
Object[] arr = new Object[0];
String[] sarr = (String[]) arr;
Итак, это преждевременная оптимизация:)