在 Scala 2.10 中获取 java.lang.Class[T] 的 Scala 类型

2024-03-19

我在看scala 反射概述 http://docs.scala-lang.org/overviews/reflection/overview.html我想知道是否可以使用java.lang.Class<T>作为 Scala 2.10 中的类型。

import scala.reflect.runtime.{ universe => ru }

class Reflector {
  def getType: ru.Type = {
    ru.typeOf[java.lang.String]
  }
  def getType[T](clazz: Class[T]): ru.Type = {
    //is it possible to implement me?
  }
}

是否有可能实施parse[T](clazz: Class[T]): ru.Type方法而不更改其签名,以便能够从 java 调用它new Reflector().parse(String.class)?


你可以像这样实现你的方法:

def getType[T](clazz: Class[T])(implicit runtimeMirror: ru.Mirror) =
  runtimeMirror.classSymbol(clazz).toType

然后这样称呼它:

implicit val mirror = ru.runtimeMirror(getClass.getClassLoader)
getType(classOf[String])

您可能感兴趣镜像库 https://github.com/fwbrasil/smirror因为它包含类似的方法

def sClassOf[T](clazz: Class[T])(implicit runtimeMirror: Mirror): SClass[T]

Where SClass包含一个typ财产。


Edit

您可能想将方法更改为此(这将保持相同的签名)

def getType[T](clazz: Class[T]):ru.Type = {
  val runtimeMirror =  ru.runtimeMirror(clazz.getClassLoader)
  runtimeMirror.classSymbol(clazz).toType
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Scala 2.10 中获取 java.lang.Class[T] 的 Scala 类型 的相关文章

  • 如何在 Scala 中编写 Pig UDF

    我正在尝试在 Scala 中编写 Pig UDF 使用 Eclipse 我已将 pig jar 添加为 java 构建路径中的库 这似乎解决了以下 2 个导入问题 导入 org apache pig EvalFunc 导入 org apac
  • 无法在 SBT 中运行 Apache Spark 相关单元测试 - NoClassDefFoundError

    我有一个简单的单元测试 使用SparkContext 我可以在 IntelliJ Idea 中运行单元测试 没有任何问题 但是 当尝试从 SBT shell 运行相同的测试时 我收到以下错误 java lang NoClassDefFoun
  • “函数是第一等值”这到底是什么意思?

    有人可以用一些很好的例子清楚地解释它吗 在解释函数式编程时 我在 Scala 中遇到了这句话 一流 并不是一个正式定义的概念 但它通常意味着一个实体具有三个属性 有可能used 不受限制 只要 普通 值可以 即从函数传递和返回 放入容器等
  • Spark:出现心跳错误后丢失数据

    我有一个在 Spark 集群上运行的 Python 程序 有四个工作线程 它处理一个包含大约 1500 万条记录的巨大 Oracle 表 检查结果后发现大约有600万条记录没有插入 我的写入功能如下 df write format jdbc
  • 过滤字符串上的 Spark DataFrame 包含

    我在用火花1 3 0 http spark apache org releases spark release 1 3 0 html and 火花阿夫罗1 0 0 https github com databricks spark avro
  • 如何将 scala 列表转换为 javascript 数组?

    有更简单的方法吗 document ready function var jsArray if scalaList null for id lt scalaList jsArray push id 很简单 如下所示 import play
  • 为什么 Scala 中的隐式类必须驻留在另一个特征/类/对象中?

    基于scala文档 http docs scala lang org overviews core implicit classes html http docs scala lang org overviews core implicit
  • Scala:如何将可变参数指定为类型?

    代替 def foo configuration String String 我希望能够写 type Configuration String String def foo configuration Configuration 主要用例是
  • Scala 宏的位置怎么了?

    我试图获取宏参数的原始输入字符串 但返回的位置似乎有点偏离 考虑这个宏 例如 object M import scala reflect macros Context import language experimental macros
  • Scala 的代码覆盖率工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何拦截 .Net 中第三方库对非虚拟方法的调用?

    我认为我需要的是 net 人们称之为 透明动态代理 的东西 但到目前为止我所看到的所有实现 Castle DynamicProxy Spring NET AOP 等 都要求我至少执行以下操作之一 将拦截的方法声明为虚拟方法 包装类并创建包装
  • 可选择将项目添加到 Scala 映射

    我正在寻找这个问题的惯用解决方案 我正在构建一个valScala 不可变 Map 并希望有选择地添加一项或多项 val aMap Map key1 gt value1 key2 gt value2 if condition key3 gt
  • 对两种类型之间的二元关系进行建模

    有企业 也有人 用户可以对某个企业点赞或发表评论 但效果是一样的can not发生在一个人身上 当用户发布有关某个企业的内容或对其点赞时 该企业就被称为target喜欢或帖子 trait TargetingRelation Targetin
  • 具有上限的联合类型

    我正在遵循这个问题的公认答案中提出的技术如何定义 类型析取 联合类型 https stackoverflow com questions 3508077 does scala have type disjunction union type
  • 在 Spark MLlib 上使用 Java 中的 Breeze

    在尝试从Java使用MLlib时 使用微风矩阵运算的正确方法是什么 例如scala 中的乘法很简单 matrix vector 相应的功能在Java中是如何表达的 有一些方法 例如 colon times 可以通过正确的方式调用 breez
  • 理解 Scala FP 库

    只是为了让那些想要开始使用 Scala FP 库 在纯 FP 方面变得更好的人快速清晰地了解 有人能澄清猫和猫效应 猫效应 IO 之间的区别 关系吗 最重要的是 齐奥和莫尼克斯对此有何看法 最后 与 ScalaZ 7 8 有何关系 到目前为
  • 在 Scala 中将元素追加到列表末尾

    我无法添加 type 元素T到一个列表中List T 我尝试过myList myElement但它似乎创建了一个奇怪的对象并访问myList last始终返回放入列表中的第一个元素 我怎么解决这个问题 List 1 2 3 4 Result
  • 将 IndexToString 应用于 Spark 中的特征向量

    Context 我有一个数据框 其中所有分类值都已使用 StringIndexer 进行索引 val categoricalColumns df schema collect case StructField name StringType
  • scala 提供类似 C++ 模板的东西吗?

    我来自 C 并试图了解 scala 的类型系统 考虑以下 C 模板类 template
  • 在scala 2.13中,为什么有时无法显式调用类型类?

    这是 Shapeless 2 3 3 中的一个简单示例 val book author gt gt Benjamin Pierce title gt gt Types and Programming Languages id gt gt 2

随机推荐

  • 如何更改应用程序中使用的默认键盘的背景颜色?

    因此 我正在制作的应用程序需要使用较暗的键盘 否则内容和键盘之间的对比度太高 因此我需要更改与 EditText 交互时显示的键盘 我已经看了一下安卓软键盘 http developer android com resources samp
  • dplyr的arrange()使用什么排序算法?

    主要是出于好奇 我想知道 dplyr 的排列函数使用什么排序算法 我读到使用 R 的最常见的排序算法是选择排序 但我找不到有关range 的任何细节 我只是对排序算法有点兴趣 并且很好奇这个函数使用什么 我查看了排列函数的源代码 但我无法真
  • 如何推迟 Norton Secure Site Seal 的加载?

    我正在网站中显示 Norton Secure Site Seal 并且我想提高页面速度以推迟密封脚本的加载 我所做的所有尝试都失败了 我只找到了这个页面提到了这一点 link http www webpagetest org forums
  • 使用 C# 5 异步等待在多个游戏帧上执行的内容

    我儿子正在编写一个简单的 RPG 游戏 其中有许多非玩家角色 又名 NPC 每个 NPC 都有一个相关的 脚本 来控制其行为 我们将使用迷你自定义脚本语言来编写这些行为 但我现在想知道在 C 5 Async 中是否会更好 举一个非常简单的例
  • 如何将带有 formgroup 值的图像/文件上传到 API?

    当服务执行http post时 如何上传图像并将其添加到表单中 示例产品模块需要名称 价格 封面图片 我尝试使用许多可以从互联网 论坛等获得的方法 但对于这个问题仍然没有任何线索 我正在使用模型驱动的表单 并在选择图像时附加它 并且我尝试在
  • 正则表达式查找一行中最长的重复字符序列

    如何编写正则表达式来查找一行中最长的重复字符序列 通过正则表达式可以找到所有相关的字符序列 1 找到最长的此类序列最好使用正则表达式以外的工具来完成
  • SAPUI5 - Sap.m.RadioButton 值字段?

    sap m RadioButton已经只有Text属性并且没有Value属性 虽然我可以通过使用自定义数据来解决这个问题 但我是否遗漏了什么 sap ui commons RadioButton有一个key场地 另外 将值绑定到单选按钮组的
  • 为什么在 Java 中无法创建 MAX_INT 大小的数组?

    我读过这个问题的一些答案 为什么我无法创建大尺寸的数组 https stackoverflow com questions 31382531 why i cant create an array with large size and ht
  • 您如何知道用户在浏览器中输入的编码是什么?

    I read Joel 关于字符集的文章 http www joelonsoftware com articles Unicode html因此我采纳了他的建议 在我的网页和数据库中使用 UTF 8 我不明白的是如何处理用户输入 正如 Jo
  • JSF 页面未呈现为 HTML

    我正在尝试运行一个非常基本的 JSF 页面 使用 Websphere 7 0 作为服务器 因此我尝试坚持使用 JSF 1 2 浏览器不渲染 html 我的意思是它只是显示所有 html 代码 包括 doctype 等 我的第一个猜测可能是它
  • Codeigniter 分页链接转到 404 Page Not Found

    我有这个与搜索结果分页 http www andyhawthorne co uk how to paginate search results with codeigniter 实施到我的 CI 项目中 但是我无法让我的分页链接转到下一页
  • 什么时候适合使用CacheItemRemovedCallback?

    我有一个每天更新一次的大型数据集 我正在缓存对该数据进行昂贵查询的结果 但我想每天更新该缓存 我正在考虑使用 CacheItemRemovedCallback 每天重新加载我的缓存 但我有以下问题 是不是可以在我过期之前调用 CacheIt
  • Android 中的噪音消除是如何工作的?

    我碰到this http www talk3g co uk showthread php 7655 Google Nexus One Noise Cancellation Microphone win相对较旧的帖子 描述了 Nexus On
  • Django TestCase 测试顺序

    如果测试类中有多个方法 我发现执行顺序是按字母顺序排列的 但我想自定义执行顺序 如何定义执行顺序 例如 testTestA 将先于 testTestB 加载 class Test TestCase def setUp self def te
  • Python:在一行中拆分、剥离和连接

    我很好奇它们是否是某种蟒蛇魔法 我可能不知道能完成一些无聊的事情 给定行 csvData append join line split strip for x in L 我正在尝试分割一条线 修剪它周围的空白 然后加入 问题是 因为数组是从
  • 关于龙的可怕代码注释是什么?

    这句话被用来警告代码正在做一些严重的特技 我对此的谷歌搜索是空的 但我记得很久以前有人在谷歌上搜索过这个短语 谎言中的龙 龙睡在这里 Bah 这里是龙 http en wikipedia org wiki Here be dragons 最
  • 使用 google API、jQuery 从地理编码中提取 + 4 邮政编码

    我正在 jQuery 的帮助下使用谷歌 API 进行地理编码 以下是我尝试过的代码 jQuery document ready function var geocoder new google maps Geocoder jQuery Ad
  • 在“功能”选项卡上添加背景模式

    我使用的是 Xcode 6 3 我刚刚在功能选项卡上添加了蓝牙背景模式 需要执行一个步骤 即 将 所需的背景模式 键添加到您的 info plist 文件中 然而苹果文档 https developer apple com library
  • BeautifulSoup soup.prettify() 给出奇怪的输出

    我正在尝试解析一个网站 稍后我将在我的 Django 项目中使用它 为此 我使用 urllib2 和 BeautifulSoup4 然而 我却没能得到我想要的 BeautifulSoup 对象的输出很奇怪 我尝试了不同的页面 它有效 输出正
  • 在 Scala 2.10 中获取 java.lang.Class[T] 的 Scala 类型

    我在看scala 反射概述 http docs scala lang org overviews reflection overview html我想知道是否可以使用java lang Class