你好,我正在使用 Java 8
进行工作。以下是具体情况:
我有一个空接口 AsyncResponse
,如下所示:
package com.personal.carrot.core.models;
public interface AsyncResponse {
}
我有一个名为APIResponse
的模型。
package com.personal.carrot.core.models;
import org.codehaus.jackson.annotate.JsonProperty;
public class APIResponse implements AsyncResponse {
@JsonProperty("numberOfFeatures")
public Long numberOfFeatures;
}
最后,我使用Retrofit2
创建了一个用于处理API响应的服务:
public interface APIRepository {
@POST("MYURL")
Call<APIResponse> resolveCounts(@Body HashMap<String, String> body);
}
现在,当我像下面这样调用APIRepository时:
Call<AsyncResponse> request = repository.resolveCounts(payload);
我遇到了一个错误:
这个错误是因为无法将APIResponse对象转化成AsyncResponse对象。Java:不兼容的类型:retrofit2.Call(com.personal.carrot.core.models.APIResponse)无法转换为retrofit2.Call(com.personal.carrot.core.models.AsyncResponse)
Call<? extends AsyncResponse>
,它能正常工作吗? - HulkresolveCounts
返回一个Call<APIResponse>
,则不能将其分配给Call<AsyncResponse>
。 - Hulk