最常用的类型参数名称是:
E - Element(Java Collections Framework广泛使用)
K - Key
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在这里的含义?
答案 0 :(得分:8)
“结果”或“返回类型”。前者在JDK 8类中特别常见。
考虑java.util.function.Function的JavaDocs,例如:
R - 函数结果的类型
模式<R>
和, ?R>
没有出现在OpenJDK 7的类中(引用:I downloaded the source并且执行了grep),但它们确实出现在几个类中以构建Java工具链本身,就像javac一样。在那里,R有时似乎stand for "result"和sometimes for "return type."
答案 1 :(得分:1)
很简单。这里R代表&#34;返回类型&#34;。
如果你看看&#34;适配器设计模式&#34;将一种类型转换为另一种类型以使用两个完全不同的接口。在那里你可以找到这样的通用值。
如果您正在编写此方法来转换或调用类型为T的对象并返回另一种类型的可观察对象,那么您将使用哪种类型的返回值?泛型类型命名没有硬性规定。这里唯一适用的规则是它应该简短而有意义。