Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 在泛型类内创建类型别名_Scala - Fatal编程技术网

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))
正是我需要的,谢谢!