我有一个返回特定类型列表的方法
String sDate1 = Thu Jun 26 13:45:32 IST 2018;
String sDate2 = Thu Jul 16 03:25:37 IST 2018;
Date date1 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy").parse(sDate1);
Date date2 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy").parse(sDate2)
long dateDiff2 = date2.getTime() - date1.getTime();
所使用的库只是 fun update(
financialMethods: List<FinancialMethods>
): CompletableFuture<List<ApvFinancialMethods>> {
return post<List<ApvFinancialMethods>>(
"/apv-financial-methods",
financialMethods,
List::class.java
)
}
的包装。
restTemplate
但是我的 protected <T> CompletableFuture<T> post(String path, Object obj, Class<T> clazz, Object... uriVariables) {
return post(path, obj, clazz, new RequestParams(), uriVariables);
}
protected <T> CompletableFuture<T> post(String path, Object obj, Class<T> clazz, RequestParams requestParams, Object... uriVariables) {
String paramString = getParamString(requestParams, true, true);
T t = cubsWsRestTemplate.exchange(path + paramString, HttpMethod.POST, new HttpEntity<>(obj, headers), clazz, uriVariables).getBody();
return CompletableFuture.completedFuture(t);
}
有问题。我收到的错误是List::class.java
。如果我将所有列表都更改为Type inference failed. Expected type mismatch
,则可以使用,但是我得到的类型显然不是我想要的类型。如何更改List<*>
以使我的方法有效?
答案 0 :(得分:0)
您可以尝试从post<List<ApvFinancialMethods>>
中删除通用类型。我发现intellij转换器错误地将它们添加到了许多可以由编译器推断类型的地方。在这种情况下,这应该是多余的,而且显然kotlin的List
与Java代码不匹配。