根据 the Java documentation :



但是,我见过这样的代码

public <R> Observable<R> compose(Transformer<? super T, ? extends R> transformer) {
        return ((Transformer<T, R>) transformer).call(this);
    }

这里使用的是 R,我可以从什么来源找到 R 在这里的含义?

最佳答案

“结果”或“返回类型”。前者在 JDK 8 类中特别常见。

考虑 java.util.function.Function 的 JavaDocs,例如:


<R>, ?R> 模式没有出现在 OpenJDK 7 的类中(引用:I downloaded the source 并做了一个 grep),但它们确实出现在用于构建 Java 工具链本身的几个类中,例如 javac。在那里,R 有时似乎是 stand for "result"sometimes for "return type."

关于Java 泛型命名约定,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36324188/

10-10 09:55