在Objective-C中, instancetype 可用作方法的返回类型,这些方法返回被调用的类的实例(或该类的子类)。

Java中的instancetype等价于什么?

最佳答案

最接近的是使用泛型

interface Base<B extends Base<B>> {
    // do something and return this.
    B append(String s);
}

interface SubBase<B extends SubBase<B>> extends Base<SubBase<B>> {
    // append returns a SubBase<B>
}

class MyClass implements SubBase<MyClass> {
    public MyClass append(String s) {
         // do something
         return this;
    }
}

它不是那么优雅,但是可以工作。

10-06 02:43