Я немного запутался в синтаксисе общих c методов. После прочтения этого сообщения я понял, что метод generi c должен быть объявлен следующим образом:
public static <E> void printArray( E[] inputArray )
, где <E>
является заполнителем, который сообщает, что E является generi c введите
Так почему же я нахожу в javado c такие вещи:
Stream<T> filter(Predicate<? super T> predicate)
Нет заполнителя? Я ожидал
<T> Stream<T> filter(Predicate<? super T> predicate)
И почему
<R> Stream<R> map(Function<? super T,? extends R> mapper)
На этот раз есть заполнитель, но только для R, а не для T. Почему?