Ela*_*nda 2 java generics class
IosPartner extends Partner
AndroidPartner extends Partner
Run Code Online (Sandbox Code Playgroud)
我有这个代码:
Class<T> clazz = partnerStr.contains("itunes")? IosPartner.class : AndroidPartner.class;
Partner partnerToAdd = jsonUtility.toObject(partnerStr, clazz);
Run Code Online (Sandbox Code Playgroud)
和
public <T> T toObject(String json, Class<T> clazz) {
if (json == null)
return null;
...
Run Code Online (Sandbox Code Playgroud)
我收到编译错误:
Error:(64, 52) java: incompatible types: java.lang.Object cannot be converted to com.waze.sdkService.operations.uiDto.Partner
Run Code Online (Sandbox Code Playgroud)
我应该如何修复我的代码以进行推广?
您需要告诉编译器Class您传递给的对象toObject()不仅仅是任何对象Class,而是一个表示扩展的类的对象Partner.为此,请声明其类型如下:
Class<? extends Partner> clazz = partnerStr.contains("itunes")
? IosPartner.class : AndroidPartner.class;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |