Что-то я где-то упустил, объясните, что означает такая конструкция:
public static <T> void fill(List<T> list, T val)
т.е. что означает дженерик метода, <T>перед типом возвр значения?
что это нам дает?
когда вызываем метод, то пишем просто
nameClass.fill(intList, 0);
т.е. при вызове метода мы ни где не указываем с каким типом он будет работать.
Ни где нет указания типа метода, как мы это делаем, например при создании экземпляра класса:
class Box<T>
new Box<Integer>(10);
тут понятно для чего мы указывали <T> в классе.
alex
41 уровень
Вопрос про Generic methods
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Стас Пасинков Software Developer в Zipy Master
30 апреля 2020, 20:08
когда-то я постарался объяснить суть дженериков в этом вопросе... возможно это поможет понять ответ и на ваш вопрос :)
0
Justinian Judge в Mega City One Master
30 апреля 2020, 15:36
https://docs.oracle.com/javase/tutorial/extra/generics/methods.html
По дженерикам очень много информации, статьи, видео, разделы в книгах, почитай Шилдта, почитай статьи, почитай стековерфлоу, посмотри видео, пиши примеры свои. И тогда понимание начнет приходить по-тихоньку. Там много нюансов, они будут заходить слоями и не за один подход.
Ну смотри. Напиши этот метод и реализуй - проход по полученному списку и заменой всех элементов на входящий val.
А потом удали <T> перед методом и посмотри что будет.
Допустим этот метод статический и находится в классе Солюшн, для списка Интеджеров мы вполне можем написать:
просто идея подсветит что это не нужно.
Насчет почему нужно, почитай;
0