Scala反射调用object

这篇具有很好参考价值的文章主要介绍了Scala反射调用object。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

和反射class不同,反射class和java反射一样,object是静态代码块模式的单例,Scala 反射的核心是 scala.reflect.runtime.universe:代码如下:

object:
 

object TargetObject{
  def test1(name:String):String = {
    println("11111111")
    "1111"
  }
}

反射调用:
反射 Scala object 核心是通过 staticModule 获取 ModuleMirror:文章来源地址https://www.toymoban.com/news/detail-677030.html

object MyTest {

  def main(args: Array[String]): Unit = {

    import scala.reflect.runtime.universe
    val classMirror = universe.runtimeMirror(getClass.getClassLoader)
    val staticMirror = classMirror.staticModule("xxx.xxx.TargetObject")
    val moduleMirror = classMirror.reflectModule(staticMirror)
    val objectMirror = classMirror.reflect(moduleMirror.instance)
    val sayHelloSymbol = moduleMirror.symbol.typeSignature.member(universe.TermName("test1")).asMethod
    val value = objectMirror.reflectMethod(sayHelloSymbol)("yege")
    println(value)

  }

}

到了这里,关于Scala反射调用object的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring boot java项目整合Scala&Spark,接口api调用方式调用scala代码,配置分享

    版本说明: spring boot: 2.5.9 jdk:1.8 spark:2.4.5 sclala:2.11.12 首先你需要有一个完美的spring boot项目(java版本)能成功运行,这就不赘述了,按照网上的自己搭建吧,然后重要的来了,我捣鼓了两天时间,各样的报错见过了,网上的处理方法要嘛是不全,要嘛是没有用,各种办

    2024年02月10日
    浏览(42)
  • 【spark】java类在spark中的传递,scala object在spark中的传递

    记录一个比较典型的问题,先讲一下背景,有这么一个用java写的类 然后在spark中使用的时候: 原因: scala的object对应的就是java的静态成员,可以反过来理解java的所有静态成员可被抽取成伴生对象(虽然现实中是scala最终编译成java)。以上面的JavaClass0 例子可理解为等价的

    2024年02月11日
    浏览(26)
  • Java调用scala中map转换问题处理

    网上代码 把Javamap转为scala的map代码 我自身是用scala2.11.8, jdk8, 同样代码在本机报错如下: toSeq()方法就一个方法还会不明确也是奇葩, 遂去翻源码,然后发现seq和其他集和对象关系  那么算了不去转到seq了, 我转到他的子类总改明确吧, 遂把代码改成以下两种方式分别实验:  另外

    2024年02月11日
    浏览(33)
  • 你知道Scala编程语言吗?Scala基础教程【建议收藏】

    作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍 📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪 Scala是一种

    2023年04月08日
    浏览(70)
  • 如何在Spark Scala/Java应用中调用Python脚本

    本文将介绍如何在 Spark scala 程序中调用 Python 脚本,Spark java程序调用的过程也大体相同 1.PythonRunner 对于运行与 JVM 上的程序(即Scala、Java程序),Spark 提供了 PythonRunner 类。只需要调用PythonRunner 的main方法,就可以在Scala或Java程序中调用Python脚本。在实现上,PythonRunner 基于

    2023年04月24日
    浏览(40)
  • Scala语言入门以及基本语法

    scala在一种简洁的高级语言中结合了面向对象和函数式编程。Scala的静态类型有助于避免复杂应用程序中的错误,它的JVM和JavaScript运行时使您可以构建高性能系统,并轻松访问庞大的库生态系统。 几大特性 Scala运行在JVM上,因此Java和Scala实现完全无缝集成。 类型推理。 并发

    2024年02月01日
    浏览(32)
  • Spark-Scala语言实战(12)

    在之前的文章中,我们学习了如何在spark中使用键值对中的join,rightOuterJoin,leftOuterJoin三种方法。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-Scala语言实战(11)-CSDN博客 文章浏览阅读670次,

    2024年04月14日
    浏览(44)
  • Spark-Scala语言实战(8)

    在之前的文章中,我们学习了如何在spark中使用RDD方法的map,sortby,collect。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-Scala语言实战(7)-CSDN博客 文章浏览阅读802次,点赞22次,收藏8次。​

    2024年04月11日
    浏览(38)
  • Spark-Scala语言实战(13)

    在之前的文章中,我们学习了如何在spark中使用键值对中的keys和values,reduceByKey,groupByKey三种方法。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-Scala语言实战(12)-CSDN博客 文章浏览阅读72

    2024年04月08日
    浏览(42)
  • Spark-Scala语言实战(11)

    在之前的文章中,我们学习了如何在spark中使用RDD中的cartesian,subtract最终两种方法。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-Scala语言实战(10)-CSDN博客 文章浏览阅读977次,点赞32次,

    2024年04月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包