Инвертирование массива

Помогите выполнить задание, ломаю голову уже 2й час.

Определите и реализуйте общий статический метод invert, который возвращает инвертированную версию входного массива. Вы можете инвертировать массив на месте во входном массиве.

Sample Input 1:
Integer
10 6 2 3
Sample Output 1:
3 2 6 10

Мой код:

class ArrayUtils {
    public static <T> T invert(T[] array) {
        return reverse(array);
    }

    public static <T> T reverse(T[] names) {
        Collections.reverse(Arrays.asList(names));
        return (T) names;
    }
}

Ответы (1 шт):

Автор решения: Barmaley

Вы создаете список на лету и тут же "теряете" его после отработки Collections.reverse()

public static <T> T reverse(T[] names) {
    List<T> list = Arrays.asList(names);
    Collections.reverse(list);
    return Arrays.toArray(list);
}
→ Ссылка