我要創建一個泛型類,首先我想說我的需求。我有不同的課程,例如A,B等。我將根據json對象創建一個類的實例。這個json對象將從文件中讀取。該文件可能包含等效的json對象。基於它,我將使用GSON創建該類的一個實例。現在,我面對一個錯誤即incompatible types: T#1 cannot be converted to T#2
不兼容的類型:T#1不能轉換爲T#2
這是我的代碼示例
public class JsonLoader<T> {
private final Gson gson = new Gson();
private final T content;
public <T> JsonLoader(Class<T> clazz, String filePath) throws IllegalFileException {
if (filePath.isEmpty() || filePath == null) {
throw new IllegalFileException("IllegalFileException: source file must required.");
}
try (Reader reader = new FileReader(filePath)) {
T content= gson.fromJson(reader, clazz);
this.content = content;
} catch (IOException e) {
throw new IllegalFileException(e.getMessage(),e);
}
}
public <T> T getObject() {
return this.content;
}
}
請幫助我。
你能發佈更多關於錯誤的信息嗎?電話號碼? –
@Kevinrob'不相容的類型:推理變量T#1具有不兼容的邊界 等式約束:T#2 上限:T#3,對象 其中T#1,T#2,T#3是類型變量: T#1延伸方法聲明的對象fromJson(讀卡器,類) T#2擴展對象在構造 JsonLoader聲明(類,字符串) T#3擴展了類中聲明JsonLoader' –