加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 使用静态类型别名化Java类

发布时间:2020-12-16 19:15:10 所属栏目:安全 来源:网络整理
导读:假设MyClass是一个用 Java定义的类,并且有许多静态成员和非静态成员.我试图在Scala对象MyObject中为此类(和关联的伴随对象)设置别名,如下所示: object MyObject { import javastuff._ type MyAlias = MyClass val MyAlias = MyClass} 斯卡拉克抱怨道: erro
假设MyClass是一个用 Java定义的类,并且有许多静态成员和非静态成员.我试图在Scala对象MyObject中为此类(和关联的伴随对象)设置别名,如下所示:

object MyObject {
  import javastuff._
  type MyAlias = MyClass
  val MyAlias = MyClass
}

斯卡拉克抱怨道:

error: object MyClass is not a value
val MyAlias = MyClass

我该如何解决这个问题?谢谢.

解决方法

虽然这在纯Scala中适用于类伴随对象,但是使用Java的静态方法是不可能的,因为这些方法不属于任何接口.

理论上,Scala可以创建一个包含某些类的所有静态方法的委托的对象,但它目前不会这样做.如果您觉得编写插件很舒服,也可以为此编写一个编译器插件.

如果做不到这一点,你要么必须自己创建一个充满代表的对象,要么只是挑选一些方法并将它们作为函数传递.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读