Связь между типом функции (T1, T2, .., Tn) -> R и интерфейсом FunctionN - PullRequest
0 голосов
/ 09 сентября 2018

Было бы правильно сказать, что тип функции в форме (T1,T2,..,Tn) -> R всегда интерпретируется на JVM , как интерфейс Function[n]<T1,T2,..,Tn,R>?

Редактировать: Описание того, что я выучил .

1 Ответ

0 голосов
/ 09 сентября 2018

Да, в основном. Интерфейсы FunctionN являются внутренним представлением JVM для типов функций.

Одно из исправлений заключается в том, что тип (T1, T2, ..., Tn) -> R представлен Function[n]<T1, T2, ...Tn, R>, а не Function[n + 1]<...>.

Это верно для функций с 22 или менее параметрами, в то время как функции с 23 и более параметрами представлены в едином специальном интерфейсе.

Вы можете найти некоторые примечания по дизайну в этом техническом документе: (ссылка)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...