考虑这个泛型代码:
interface Collection<E> {
public void add (E x);
public Iterator<E> iterator();
}
Run Code Online (Sandbox Code Playgroud)
还有这个:
public class MyClass<V> {
V v;
setSomeValue(V val) {
v=val;
}
V getSomeValue() {
return v;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题:你在尖括号那些信:
<V>与<E>
具有特定的含义.我可以使用任何英文字母.即他们可以
<A>或<Q>?
它们必须是有效的Java标识符(不一定只是注释中指出的单个字母),从技术上讲,您可以使用任何您喜欢的标识符,并且您的代码将编译并运行正常(如果当然没有其他错误!)
虽然坚持惯例是好的 - 这往往是单个大写字母.一些常见的有E,T,K和V,分别站立元素,类型,键和价值-你的使用情况很可能融入其中的一个类别,在这种情况下,我会用那些信.在上面的例子中,Collection该类使用,E因为它包含元素.