我现在感觉这么高,现在问这个问题,但我无法弄明白它是怎么回事
import java.util.List;
public class ListResponse<T> {
private List<T> items;
private Paging paging;
public <T> ListResponse(List<T> items, Paging paging) {
this.items = **items**;
this.paging = paging;
}
}
我在标记的items参数上遇到编译器错误。错误是:
Type mismatch: cannot convert from java.util.List<T> to java.util.List<T>
你知道发生了什么吗?谢谢!
答案 0 :(得分:4)
定义为构造函数范围的<T>
隐藏了类范围的<T>
,编译器将这些视为不同的类型。这就是你得到编译时错误的原因。
摆脱构造函数的类型参数:
public ListResponse(List<T> items, Paging paging) {
this.items = items;
this.paging = paging;
}