【发布时间】:2019-07-26 02:44:33
【问题描述】:
我正在尝试使用泛型类型在 Java 中实现泛型接口,但遇到编译错误。我想知道以下是否可能:
public class ListResponse<T> {
private List<T> response;
public ListResponse(List<T> response) {
this.response = response;
}
public List<T> getResponse() {
return response;
}
}
还有麻烦的课:
import java.util.function.Consumer;
import java.util.List;
import com.myorg.response.ListResponse;
public class ListPresenter<T> implements Consumer<ListResponse<T>> {
private ListResponse<T> response;
public <T> void accept(ListResponse<T> response) {
this.response = response;
}
// Rest of class
}
我希望有这样的调用代码:
ListPresenter<Integer> presenter = new ListPresenter<>();
但是我收到以下消息的编译错误:
error: ListPresenter is not abstract and does not override abstract
method accept(ListResponse<T>) in Consumer [ERROR] where T is a
type-variable: [ERROR] T extends Object declared in class
ListPresenter
【问题讨论】:
-
public <T> void accept(ListResponse<T> response)应该是public void accept(ListResponse<T> response)(删除第一个<T>)