scala - classOf[] 表示更高级的类型

标签 scala scala-2.11

给定 class Foo[F[_]],如何获取 Class 对象?通常的语法不起作用:

scala> classOf[Foo[_]]
<console>:9: error: _$1 takes no type parameters, expected: one
              classOf[Foo[_]]
                          ^

也没有

scala> classOf[Foo[_[_]]]
<console>:9: error: _$1 does not take type parameters
              classOf[Foo[_[_]]]
                          ^

最佳答案

啊,对了。留下这个以防有人寻找它:

scala> classOf[Foo[F] forSome { type F[_] }]
warning: there were 1 feature warning(s); re-run with -feature for details
res0: Class[Foo[_[_] <: Any]] = class Foo

关于scala - classOf[] 表示更高级的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32201216/

相关文章:

Scala sortBy缺少扩展函数的参数类型

scala - Spark 列字符串在其他列(行)中出现时替换

scala - 在Scala中二叉树上的尾递归折叠

scala - 从 Java 到 Scala 集合相互转换的与版本无关的方式

scala - 在 Scala 中对数组进行就地排序

Scala Some、None 和我的自定义默认值

java - 如何在mongodb中的单个字段中添加值

java - play2 framework 我的模板没见过。 : package views. html不存在

java - 如何提取泛型类型参数的数据类型?

scala - 如何退出scala 2.11.0 REPL?