// Counts the number of occurrences of elem in anArray.
//
public static <T> int count(T[] anArray, T elem) {
int cnt = 0;
for (T e : anArray)
if (e.equals(elem))
++cnt;
return cnt;
}
Sasha
46 уровень
Почему оно работает - int. Как я понял, тут 2 типа , int. Разве нет?
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Wladyslaw Java Developer Master
10 сентября 2021, 08:23
Не понятен вопрос.
Определен дженерик на уровне метода, ничем не ограниченный. Как аргументы метода ожидается массив элементов того типа, который будет определен при вызове и один элемент такого типа.
Твоя сигнатура говорит - я принимаю массив типа Т и объект типа Т, а возвращаю инт.
0
Sasha Middle Java Developer в EPAM
10 сентября 2021, 08:37
Зачем тогда Т перед int?
0
Sasha Middle Java Developer в EPAM
10 сентября 2021, 08:43
Я о том, что метот возвращает
0
Ksenia Volkova Java Developer в DXC Master
10 сентября 2021, 08:46решение
Вовзращает-то он int. А принимает условный тип T (массив этих T и просто T).
Generic Methods
+2
Wladyslaw Java Developer Master
10 сентября 2021, 09:39
Такой синтаксис объявления дженериков на уровне метода.
+1
hidden #598481
10 сентября 2021, 08:23
В смысле? Что ты имеешь в виду, два типа int? int - он один, int и все.
0