我可以在Groovy中覆盖强制转换运算符吗?

fer*_*olo 3 groovy casting

我需要一些与此类似的东西:

interface Bar { 
    def doSomething()
}

class Foo { // does not implement Bar.

    def doSomethingElse() {
    }

    Bar asBar() { // cast overload
        return new Bar() {
            def doSomething() {
                doSomethingElse()
            }
        }
    }

}

Foo foo = new Foo()
Bar bar = foo as Bar
bar.doSomething()
Run Code Online (Sandbox Code Playgroud)

在Groovy中有这样的东西吗?

Rid*_*del 5

你尝试过覆盖Object#asType(Class)方法吗?

  • @fernacolo这是一个wiki,所以你可以这样做:-) (2认同)