Scala 在泛型类内创建类型别名
我需要一些方法来使用类的类型参数在类内部定义类型别名Scala 在泛型类内创建类型别名,scala,Scala,我需要一些方法来使用类的类型参数在类内部定义类型别名 class ToMap[Key, Value] { type MapType = Map[Key, Value] } val z: ToMap[Int, Int].MapType = Map((1, 1)) 此示例不起作用,因为type MapType是类型成员,而不是类型别名,因此它不会编译 是否有其他方法允许使用泛型类获取类型别名 一般来说,我需要一些方法来使用泛型类的类型获得不同的类型,即进行一些类型转换。之后,我想将转换后的类
class ToMap[Key, Value] {
type MapType = Map[Key, Value]
}
val z: ToMap[Int, Int].MapType = Map((1, 1))
此示例不起作用,因为type MapType
是类型成员,而不是类型别名,因此它不会编译
是否有其他方法允许使用泛型类获取类型别名
一般来说,我需要一些方法来使用泛型类的类型获得不同的类型,即进行一些类型转换。之后,我想将转换后的类型作为其他类的类型参数重用。我猜您想使用路径相关类型:
class ToMap[Key, Value] {
type MapType = Map[Key, Value]
}
val a = new ToMap[Int, Int]
val z: a.MapType = Map((1, 1))
或
我猜您希望使用路径相关类型:
class ToMap[Key, Value] {
type MapType = Map[Key, Value]
}
val a = new ToMap[Int, Int]
val z: a.MapType = Map((1, 1))
或
你能给我们一个简单的例子来说明你的用例吗?你能给我们一个简单的例子来说明你的用例吗?
val z2:ToMap[Int,Int]#MapType=Map((1,1))
正是我需要的,谢谢val z2:ToMap[Int,Int]#MapType=Map((1,1))
正是我需要的,谢谢!