Тип возврата универсальных методов Java

Вы все равно можете использовать file.seek (0). Например, посмотрите на следующее:

import csv
file_handle = open("somefile.csv", "r")
reader = csv.reader(file_handle)
# Do stuff with reader
file_handle.seek(0)
# Do more stuff with reader as it is back at the beginning now

Это должно работать, поскольку csv.reader работает с тем же.

23
задан Jops 4 April 2013 в 13:37
поделиться

5 ответов

Этот вопрос подходит к одной из моих старых заметок. Я надеюсь, что эта иллюстрация поможет:

enter image description here enter image description here

89
ответ дан Jops 4 April 2013 в 13:37
поделиться

<E> является объявлением параметра общего типа. Это означает, что «этот метод имеет параметр одного типа, называемый E, который может быть любого типа».

Это не возвращаемый тип - он приходит после объявления параметра типа, непосредственно перед именем метода. Таким образом, тип возврата метода printArray в вашем вопросе все еще равен void.

См. раздел 8.4 JLS для более подробной информации о объявлениях методов.

8
ответ дан Jon Skeet 4 April 2013 в 13:37
поделиться

Это не тип возвращаемого объекта. Это указывает на то, что E в сигнатуре метода является универсальным типом, а не конкретным типом. Без этого компилятор будет искать класс с именем E для аргумента метода.

3
ответ дан JB Nizet 4 April 2013 в 13:37
поделиться

E используется в качестве заполнителя для фактического типа, который будет передан функции Gen при вызове этой функции.

предположим, что E можно заменить на целое число

2
ответ дан Imran Tufail 4 April 2013 в 13:37
поделиться

< E> называется параметром формального типа. Это не тип возврата метода. В основном это говорит о том, что метод может принимать в качестве параметров массивы различных типов (E [] inputArray).

2
ответ дан Razvan 4 April 2013 в 13:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: