最佳答案
在阅读关于泛型的 Java 官方教程时,我发现可以限制类型参数(在本例中是 T
) ,以使用‘ and’操作符(&
)扩展类和/或更多接口,如下所示:
<T extends MyClass & Serializable>
我用 ,
替换了 &
(错误地替换了 ,
,但仍然有效,只有一个小小的警告)。
我的问题是,这两者之间有什么区别吗:
<T extends MyClass & Serializable>
<T extends MyClass , Serializable> // here is with comma
示例方法:
static <T extends MyClass & Serializable> ArrayList<T> fromArrayToCollection(T[] a) {
ArrayList<T> arr = new ArrayList<T>();
for (T o : a) {
arr.add(o); // Correct
}
return arr;
}