Общая проблема Java для ArrayList и Array

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

Arrays.asList()
SLaks 15.03.2018 17:17
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
53
1

Ответы 1

Просто создайте два метода с разными подписями. Вы можете отложить использование одного метода от другого, чтобы не повторять реализацию:

public <T> T getMax(T[] array)
{
    return getMax(Arrays.asList(array));
}

public <T> T getMax(List<T> list)
{
    // actually get the max
}

Нужен ли нам возвращаемый тип второго метода как <T> T? или просто максимальное значение?

Kushal Shinde 15.03.2018 17:23

@KushalShinde OP хочет «максимальный элемент в данных элементах». В данном случае T - это тип этих элементов и тип максимального элемента, поэтому да, тип возвращаемого значения метода - T.

xtratic 15.03.2018 17:27

Другие вопросы по теме