Нет. Это не имеет ничего общего с typealias
, а скорее с тем, как объявлять generic
типы.
Map
интерфейс требует два типа parameters
, и вы должны предоставить оба типа, в противном случае вы получите ошибку. Если вы хотите использовать Map
, который parameterized
вместо entry
вместо Key
, Value
тогда вы можете определить свой собственный Map
тип.
В приведенном выше случае, когда вы делаете Map<MyEntry>
, , вы хотите, чтобы язык принимал параметр одного типа ( MyEntry
), который вы предоставляете и извлекаете два его компонента (String
и String
), а затем используете эти два компонента как два разных type
parameters
для Map
. Извините, вы слишком много просите.
MyEntry
является одним type
и может использоваться только как таковое. Ниже приведен пример этого
typealias MyMap = Map<MyEntry, String>