根据Java文档:
最常用的类型参数名称有:
E-Element(被Java集合框架广泛使用)
K-密钥
N-编号
T型
V-值
S、 U、V等-第2、3、4类
然而,我看到过类似的代码
public <R> Observable<R> compose(Transformer<? super T, ? extends R> transformer) {
return ((Transformer<T, R>) transformer).call(this);
}
这里使用的是R,从什么来源我可以知道R在这里的意思?
"Result"或"return type"。前者在JDK 8类中特别常见。
考虑java.util.function.function的JavaDocs,例如:
R-函数的结果类型
<R>
和, ?R>
模式没有出现在OpenJDK7的类中(引用:我下载了源代码并做了grep),但它们确实出现在用于构建Java工具链本身的几个类中,比如javac。在那里,R有时似乎代表"结果",有时代表"返回类型"。
它非常简单。这里R代表"返回类型"。
如果你看看"适配器设计模式",它将一种类型转换为另一种类型,以使用两个完全不同的接口。在那里你可以找到这样的通用值。
若您正在编写这个方法,它转换或调用类型为T的对象,并返回另一类型的可观察对象,那个么对于返回值的类型,您将使用什么?泛型类型命名没有硬性规定。这里唯一适用的规则是它应该简短而有意义。