假设MyClass
是一个用Java定义的类,并且有许多静态成员和非静态成员.我试图在Scala对象中MyObject
为此类(和关联的伴随对象)设置别名,如下所示:
object MyObject {
import javastuff._
type MyAlias = MyClass
val MyAlias = MyClass
}
Run Code Online (Sandbox Code Playgroud)
Scalac抱怨道:
error: object MyClass is not a value
val MyAlias = MyClass
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?谢谢.
虽然这在纯Scala中适用于类+伴随对象,但是使用Java的静态方法是不可能的,因为它们不属于任何接口.
理论上,Scala 可以创建一个包含某些类的所有静态方法的委托的对象,但它目前不会这样做.如果您觉得编写插件感觉很舒服,也可以为此编写一个编译器插件.
如果做不到这一点,你要么必须自己创建一个充满代表的对象,要么只是挑选一些方法并将它们作为函数传递.
归档时间: |
|
查看次数: |
716 次 |
最近记录: |