gpt4 book ai didi

kotlin - Map.Entry 在 Map 中使用 Kotlin 类型别名

转载 作者:行者123 更新时间:2023-12-01 13:09:52 24 4
gpt4 key购买 nike

在 Kotlin 中,可以定义 typealias对于类,因此也适用于 Map<K,V> .假设我有以下内容:

typealias MyMap = Map<String, String>

但是,如果我也想命名 map 条目怎么办,如下所示:

typealias MyEntry = Map.Entry<String, String>
typealias MyMap = Map<MyEntry> // error

然而,Kotlin 不接受这一点,因为 Map<K,V>需要键和值的类型。如上所示的这样的事情可能吗?

最佳答案

不,这与 typealias 无关,而是如何声明generic类型。
Map接口(interface)需要两种类型parameters并且您必须同时提供两者,否则您会收到错误,如果您想使用 Map这是parameterized超过其entry而不是 Key , Value然后你可以定义你自己的Map类型。

在上述情况下,当您执行 Map<MyEntry> , 您希望语言采用您提供的单一类型参数( MyEntry )并提取其两个组件( StringString ),然后将这两个组件用作两个不同的 type parameters对于Map .对不起,你问得太多了。
MyEntry是单type它只能这样使用。以下是一个例子

typealias MyMap = Map<MyEntry, String>

关于kotlin - Map.Entry 在 Map 中使用 Kotlin 类型别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60755499/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com