我有这个使用<T>
:
public static class mySet<T> extends Set {
// Define a list object using parametric polymorphism
public final List<T> set;
// Define the constructor for a Set data type
public <T> mySet(List<T> given_set) {
this.set = (List<T>) given_set;
}
}
但是我在这里收到错误(List<T>) given_set;
。
它应该工作,因为我使它与最终变量集类型相同,但它没有。
有谁知道为什么?
Eclipse说:Type mismatch: cannot convert from java.util.List<T> to java.util.List<T>
。
答案 0 :(得分:6)
你没有把它变成同一类型。通过在构造函数声明前使用<T>
,您将引入一个 new T
,与类T
没有类型关系。去掉它。然后你也可以删除演员阵容,它什么都不做。