gpt4 book ai didi

scala - 使用静态变量对 Java 类进行类型别名

转载 作者:行者123 更新时间:2023-12-04 12:13:50 30 4
gpt4 key购买 nike

假设 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 的静态方法是不可能的,因为它们不属于任何接口(interface)。

理论上,Scala 可以创建一个对象,其中包含对某个类的所有静态方法的委托(delegate),但它目前不这样做。如果您愿意编写插件,也可以为此编写编译器插件。

如果做不到这一点,您要么必须自己创建一个充满委托(delegate)的对象,要么只挑选一些方法并将它们作为函数传递。

关于scala - 使用静态变量对 Java 类进行类型别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4943256/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com