这是我为 Egit 找到的代码
我对PlotCommitList<L extends PlotLane>
.
- 用什么术语来形容它?
- 它对编译器意味着什么?
public class PlotCommitList<L extends PlotLane> extends RevCommitList<PlotCommit<L>> {
<> 运算符用于指定通用模板中的类。
图像一个通用的“列表”。在 Java 1.4 之前,“列表”只能包含泛型Object
。如果您想确保仅将String
s 保留在列表中,则必须使用大量强制转换和辅助方法,这使得代码几乎不可读。
Java 5 引入了泛型,这解决了这个问题——您可以创建一个模板类“列表”,并将用作参数或返回值的类参数化。
此外,您可以使用<L extends ...>
和<L super ...>
来限制模板使用的类的范围,将多个类作为参数<class1,class2>
并随意组合<class1,class2<class3>>
。
http://www.javacodegeeks.com/2011/04/java-generics-quick-tutorial.html有一个很好的教程