根据 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/