Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / generics. / 5 сообщений из 5, страница 1 из 1
14.11.2013, 12:36:52
    #38464850
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
generics.
Я запутался, что значат все эти T. Можете объяснить что значит
Код: java
1.
<T> OngoingStubbing<T>


Код: java
1.
2.
3.
 public static <T> OngoingStubbing<T> when(T methodCall) {
        return MOCKITO_CORE.when(methodCall);
    }
...
Рейтинг: 0 / 0
14.11.2013, 12:40:28
    #38464861
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
generics.
redwhite90,это обширная тема и не очень очевидная ввиду особенностей реализации в джаве. Лучше всего описана в Thinking in java и здесь
...
Рейтинг: 0 / 0
14.11.2013, 12:43:05
    #38464863
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
generics.
Первое <T> говорит о том что это Generic метод, параметризированый одним типом.
OngoingStubbing<T> - return value метода параметризировано тем же типом, которым параметризирован метод.
T methodCall - аргумент метода должен иметь тот же тип, которым параметризирован метод.

В результате имеем.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
Integer mc = ...;
OngoingStubbing<Integer> os = when(mc);

String mc = ...;
OngoingStubbing<String> os = when(mc);

String mc = ...;
OngoingStubbing<Integer> os = when(mc); //ошибка - типы не совпадают.
...
Рейтинг: 0 / 0
14.11.2013, 12:45:02
    #38464868
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
generics.
Blazkowicz,

спасибо, что-то я не отделил два первых <T> и испугался раньше времени)
...
Рейтинг: 0 / 0
14.11.2013, 12:48:23
    #38464876
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
generics.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / generics. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]