Scala-如何获取 Vector 的包含类?

标签 scala reflection collections scala-collections

Scala 有办法获取集合中包含的类吗?即如果我有:

val foo = Vector[Int]()

有没有办法从中取回 classOf[Int]?

(只检查第一个元素是行不通的,因为它可能是空的。)

最佳答案

您可以使用TypeTag:

import scala.reflect.runtime.universe._

def getType[F[_], A: TypeTag](as: F[A]) = typeOf[A]

val foo = Vector[Int]()
getType(foo)

关于Scala-如何获取 Vector 的包含类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46393478/

相关文章:

scala - Play 框架 Scala 模板

scala - 如何使用-feature选项运行Play Framework 2.2.0

scala - 展平相同类型的嵌套列表

php - 如何使用 Construction() 参数自动设置 PHP 类属性?

java - 如何检查 java.lang.reflect.Type 是否为枚举

java - Java8中可以通过流给object中的变量赋值吗?

java - 为数组实现撤销和重做

c# - 如果键不存在,字典返回默认值

scala - Gatling:当上一个请求没有 JSON 响应时,如何在下一个请求中传递值?

c# - 如何递归迭代实体的属性