java - 获取 Scala 类型的 Java 反射表示

标签 java scala reflection

这似乎是一个简单的问题,但搜索起来非常具有挑战性,所以我要问一个新问题。如果已经有人问过,我深表歉意。

由于此处描述的编译器错误 Scala 2.11.5 compiler crash with type aliases and manifests (也在此处 https://issues.scala-lang.org/browse/SI-9155 ),我需要使用 scala TypeTag 和 friend 来发现方法的类型参数。但是,我随后需要在使用 java.lang.Classjava.lang.reflect.Type 的 Java 库中使用该类型信息。

如何将 scala.reflect.runtime.universe Type 转换为 java.lang.reflect.Type java.lang.Class?

具体来说,我将如何填写这个方法的主体:

def typeFor[T](implicit tag: TypeTag[T]): java.lang.reflect.Type = ...

或者,如果那不可能:

def typeFor[T](implicit tag: TypeTag[T]): java.lang.Class[T] = ...

请注意,由于上面发布的错误,我无法使用 scala.reflect.Manifest

最佳答案

简短的回答是否定的,但您可以尝试做类似于 this SO question 的事情.然而there is an open ticket... .

关于java - 获取 Scala 类型的 Java 反射表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28569619/

相关文章:

java - .NET 客户端构造的 SOAP 具有有效对象,Java 客户端 SOAP 具有空对象

c# - Scala有没有类似于C#的显式接口(interface)实现?

c# - 通过反射检查时缺少 NotNullAttribute

c# - 从属性创建枚举

java - 在扩展另一个对象的同时实现 RealmModel 接口(interface)

java - 从父 JFrame 访问 JDialog 的 JtextArea?

java - Spring /thymeleaf : How to fill a list in form and append another line to the form?

scala - 如何列出Hdfs目录和子目录内文件的路径?

scala - 什么是 Chisel 中的克隆

java - 将类从 Maven 依赖项加载到我的 ClassLoader