- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Scala 2.10,我试图从字符串实例化一个类,我想获取它的类型标签。
例如 :
scala> def printClassName[Y: TypeTag](x: Y) = { println(typeTag[Y].tpe) }
printClassName: [Y](x: Y)(implicit evidence$1: reflect.runtime.universe.TypeTag[Y])Unit
scala> printClassName(new String())
String
scala> var foo = Class.forName("java.lang.String")
myInstance: Class[_] = class java.lang.String
scala> printClassName(foo)
java.lang.Class[?0]
最佳答案
我相信您可以使用 Scala Reflection api 来获取 Type
(不是 TypeTag
)。不确定这是否是您想要的,但它与 typeTag[Y].tpe
中打印的内容相同.
import scala.reflect.runtime.universe._
val m = runtimeMirror(getClass.getClassLoader)
val classSymbol = m.staticClass("java.lang.String")
val tpe = classSymbol.selfType
关于scala - 是否可以获取运行时实例的 typeTag?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16724588/
一个简单的问题,如何从类名中获取 TypeTag? 所以基本上 TypeTag 相当于 Java 中的 Class.forName。 注意:Manifest 在这里不适合我,我需要一个 TypeTag
使用 Scala 2.10,我试图从字符串实例化一个类,我想获取它的类型标签。 例如 : scala> def printClassName[Y: TypeTag](x: Y) = { println
我对手动创建 TypeTag 感兴趣(从 2.10M5 开始): object X { import reflect.runtime.universe._ def tt[A : TypeTag
我正在尝试为内部类型获取 TypeTag 或 ClassTag 以向具有类型参数的方法提供 ClassTag。具体来说,我有 trait Baz trait Foo { type Bar weakT
在 REPL 中,我正在写出来自 Reflection - TypeTags and Manifests 的示例. 我对 WeakTypeTag 之间的区别感到困惑和 TypeTag . scala>
我对 TypeTags 的了解是,它们以某种方式取代了 Manifests。互联网上的信息很少,无法让我对这个主题有很好的了解。 因此,如果有人分享有关 TypeTags 的一些有用 Material
TypeTags 似乎只适用于被调用方法的参数中使用的类型参数,而不适用于返回类型: scala> :paste // Entering paste mode (ctrl-D to finish) i
说我有 trait Foo[T] { def bar: Bar[T] } 并希望在调用 Foo[Int] 时获取 bar 的返回类型(即本例中的 Bar[Int])来自 Foo[Int] 的类型标签和
我有一种方法可以探索不同类函数的不同参数值。以前,我做了一些非类型安全的运行时检查,其中,删除后,重要的是我使用的是 Function2 还是 Function3。我已经尝试使用 ClassTags/
我有 createOld我需要覆盖并且我无法更改它的方法。我想使用 TypeTag模式匹配 createNew 中提供的类型.目标是找出如何调用createNew来自 createOld .我目前的理
我们的库使用 TypeTags,但现在我们需要与另一个需要 Manifests 的库进行交互。有没有简单的方法可以从 TypeTag 创建 list ? 最佳答案 如果您在存在 TypeTag 时天真
以下代码未编译: override def read[T <: Product](collection : String): Dataset[T] = { val mongoDbRdd = Mon
我正在尝试修改 List.toString 的行为根据其类型参数。自 List无法扩展,被自定义类包裹 CList (可以使用隐式,但问题会保持不变?)。打印 CList 时出现问题的 CList s
简介 : ... TypeTag[T] encapsulates the runtime type representation of some compile-time type T. ... ..
我有一个简单的 Scala 程序来测试 Scala 推断类型类的能力: import scala.reflect.ClassTag object InferTypeTag { import org
下面是如何在运行时使用 Manifest 创建类型 T 的新实例: trait MyTrait class MyClass1(val name: String) extends MyTrait cla
这个问题已经有答案了: How to create a TypeTag manually? (5 个回答) 已关闭 3 年前。 在 Scala 反射中,通常可以使用 TypeCreator 从类型构造
我有一个多态方法,它将自定义案例类作为类型参数。现在,为了支持多个案例类(在配置文件中定义为字符串),我需要将字符串转换为案例类的 tagType。 为此,我使用 runtimeMirror 方法从
给定一个类: class MyClass[A, B[A] <: SomeClass[A]](...) { ... } 我想为 A 和 B[A] 添加类型标签。 但是, class MyClass[A:
我正在尝试将类型标记转换为维护/保留通常删除的类型参数的 java 类。有相当多的库受益于这些转换(例如 Jackson 和 Guice)。我目前正在尝试将基于 Manifest 的代码迁移到 Typ
我是一名优秀的程序员,十分优秀!