gpt4 book ai didi

scala - 如何初始化类型别名的空映射

转载 作者:行者123 更新时间:2023-12-04 16:47:15 24 4
gpt4 key购买 nike

通常我一直以这种方式声明 map ,因为我需要它是空的

var myMap: mutable.Map[String, ListBuffer[Objects]] = mutable.Map[String, ListBuffer[Objects]]()

对象类型签名很长,所以我试图在如下所示的包对象中声明我自己的类型别名。
type MyMapType = mutable.Map[String, ListBuffer[Objects]]

问题是当我尝试使用别名声明我的 map 时,它似乎不起作用。
var myMap: MyMapType = MyMapType()

我收到一条错误消息

Expression of type ListBuffer[Objects] doesn't conform to expected type MyPackageObject.MyMapType

最佳答案

尝试这个:

import collection.mutable.{Map, ListBuffer}
type MyMapType = Map[String, ListBuffer[Object]]
var myMap: MyMapType = Map()

这样做的原因: Map()Map.apply() 的快捷方式.这是对名为 Map 的对象的方法调用.是 mutable.Map的伴生对象.它的名称属于一组完全独立的标识符:类型的名称独立于对象的名称。因此,伴随对象 Map仍叫 Map .请注意,您可以省略 .apply() 的所有类型参数。因为类型推断。

关于scala - 如何初始化类型别名的空映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51957242/

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