На самом деле я хотел создать общий метод, который находит максимальный элемент в заданных элементах. Я также расширяю сопоставимые. Теперь проблема в том, что я собираюсь отправлять элементы иногда как массив, а иногда как ArrayList. Поэтому мне нужно было создать общий метод, который мог бы принимать их обоих и возвращать максимум. Основная проблема заключается в том, что в прототипе функции, если я упоминаю квадратные скобки, он не представляет ArrayList и наоборот.




Просто создайте два метода с разными подписями. Вы можете отложить использование одного метода от другого, чтобы не повторять реализацию:
public <T> T getMax(T[] array)
{
return getMax(Arrays.asList(array));
}
public <T> T getMax(List<T> list)
{
// actually get the max
}
Нужен ли нам возвращаемый тип второго метода как <T> T? или просто максимальное значение?
@KushalShinde OP хочет «максимальный элемент в данных элементах». В данном случае T - это тип этих элементов и тип максимального элемента, поэтому да, тип возвращаемого значения метода - T.
Arrays.asList()