如何在编译时获取单例对象的类?
发布时间:2020-12-16 08:53:58 所属栏目:安全 来源:网络整理
导读:考虑这样的事情: object Singletonval cls: Class[Singleton] = ??? 我该怎么写而不是???? 我尝试过classOf [Singleton],classOf [Singleton.type],Singleton.type,但没有任何效果. (我当然知道关于getClass,classOf的运行时版本,但这不是我要问的.) 解决方
考虑这样的事情:
object Singleton val cls: Class[Singleton] = ??? 我该怎么写而不是???? 我尝试过classOf [Singleton],classOf [Singleton.type],Singleton.type,但没有任何效果. (我当然知道关于getClass,classOf的运行时版本,但这不是我要问的.) 解决方法
这是一个解决方案,但它并不漂亮……
object Singleton val cls : Class[Singleton] = Singleton.getClass.asInstanceOf[Class[Singleton]] 编辑:阅读另一个问题/答案后完成解决方案:Scala equivalent of Java java.lang.Class<T> Object 注1:类型擦除会阻止它特别有用,例如:在模式匹配中.请参阅上面的参考问题/答案,以获得更好的解释 注意2:scala -explaintypes标志在理解类型错误时非常方便. HTH (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |