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可以创建一个包含某些类的所有静态方法的委托的对象,但它目前不会这样做.如果您觉得编写插件很舒服,也可以为此编写一个编译器插件. 如果做不到这一点,你要么必须自己创建一个充满代表的对象,要么只是挑选一些方法并将它们作为函数传递. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |