Параметризация метода

109
03 мая 2021, 21:50
  1. Как параметризуется метод при использовании Generic и в какой момент при параметризации методов в коде известны типы параметров

  2. зачем отдельно параметризовать статические методы

Если можно, то с примерами.

Answer 1

1) примерно так (из The Java™ Tutorials:)

static <T> void fromArrayToCollection(T[] a, Collection<T> c) {
    for (T o : a) {
        c.add(o); // Correct
    }
}

В том же туториале утверждается, что компилятор распознаёт тип и т.д. Значит на этапе компиляции уже кое-что известно.

2) Вопрос не понятен. Что значит "отдельно параметризовать"? Вроде в том же файле с исходным кодом класса все делается? Т.е. ничего особливого для статических методов нет.

Вверху был статический, тут напишем не статический. Всё одинаково:

public <T> void fromArrayToCollection(T[] a, Collection<T> c) {
    for (T o : a) {
        c.add(o); // Correct
    }
}

https://docs.oracle.com/javase/tutorial/extra/generics/methods.html

READ ALSO
LinkedHashMap порядок добавления

LinkedHashMap порядок добавления

за счет чего сохраняется порядок добавления в LinkedHashMap?

113
Поиск элемента в строке

Поиск элемента в строке

Есть задачаИмеется строка, например: "Thank you for registering

89
Перезагрузка компонента в Vue

Перезагрузка компонента в Vue

Этот вопрос задавался не разНо возможно в конкретном случае его можно решить как-то иначе

110