2012-05-05 2 views
0

Рассмотрим:на Java родовой функции, разъяснение необходимости

public <U> void doSomethingWith(U u) { 
    ... 
} 
  • Метод возвращает аннулируются
  • Метод получает знать тип U, когда он передается методу

Использование Java , что такое <U>, предназначенный для представления?

Я хотел бы уточнить: Является ли это своего рода predeclaration «это дело типа U, который будет передан к вам, что и вы не знаете, о .. хорошо, это может быть что угодно "?

ответ

3

Использование Java, что такое <U>, предназначенный для представления?

Это своего рода предварительная декларация «Эта вещь типа U, которая будет передана вам, и вы не знаете о ней .. ну, это может быть что угодно»?

Да. Он называется типичным параметром типа. Read more here.

+0

Является ли цель предугадать, в интересах компилятора? – JAM

+1

Да, это в основном там, поэтому компилятор не пытается найти какой-то класс, фактически названный 'U'. – trutheality

1

В этом случае U не более описателен, чем класс объекта. < U> прежде чем метод в основном используется для связывания класса с двумя или более параметрами или для привязки параметра и результата. Нравится:

public <U> U doSomething(Class<U> uClass) { } 
Смежные вопросы