Edo*_*chi 5 scala implicit scala-java-interop
是否可以从隐式类定义自动生成用于互操作的配套 Java 静态方法?
例如:
class Foo()
object FooOps {
implicit class FooOps(foo: Foo) extends AnyVal {
def baz = "hello"
}
}
Run Code Online (Sandbox Code Playgroud)
可以作为new Foo().baz. 然而,这在 Java 中是相当不方便和不惯用的。是否可以为 Java 自动生成(例如通过宏)静态方法,就像 Kotlin 为扩展方法所做的那样?例如:
object FooOps {
@MagicAnnotation
implicit class FooOps(foo: Foo) extends AnyVal {
def baz(n: Int) = "hello"
}
// generated:
def baz(foo: Foo, n: Int) = foo.baz(n)
}
Run Code Online (Sandbox Code Playgroud)