IosPartner extends Partner
AndroidPartner extends Partner
我有这段代码:
Class<T> clazz = partnerStr.contains("itunes")? IosPartner.class : AndroidPartner.class;
Partner partnerToAdd = jsonUtility.toObject(partnerStr, clazz);
和
public <T> T toObject(String json, Class<T> clazz) {
if (json == null)
return null;
...
我收到编译错误:
Error:(64, 52) java: incompatible types: java.lang.Object cannot be converted to com.waze.sdkService.operations.uiDto.Partner
我应该如何修改我的代码以进行推广?
答案 0 :(得分:6)
您需要告诉编译器您传递给Class
的{{1}}对象不仅仅是toObject()
,而是一个代表扩展Class
的类的对象。为此,请声明其类型:
Partner
答案 1 :(得分:0)
这只是在您不必使用T
时的问题。由于这两个类都扩展了Partner
,因此只需使用Class<? extends Partner
而不是Class<T>