我正在尝试创建一个立面以从服务器中检索列表,但是它无法将GenericType正确地强制转换为列表,因此它不能执行ForLoop而不抛出以下异常:{{1} }
它与没有足够的信息有关反序列化到哪个类有关,因此它使用LinkedHashMap。我真正想要的是列表。
请注意,getInbox不使用超类,也不使用泛型T,并且可以使用。
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.testing.models.Account
}
public abstract class BaseClient<T> {
final String BaseURI = "http://localhost:8082/r";
final Client client;
BaseClient() {
ClientConfig clientConfig = new ClientConfig();
clientConfig.property(LoggingFeature.LOGGING_FEATURE_VERBOSITY_CLIENT, LoggingFeature.Verbosity.PAYLOAD_ANY);
client = ClientBuilder.newClient(clientConfig);
}
@Deprecated // Does not map properly to List<T>
public List<T> getList(String target, String path, String format) {
List<T> list = client.target(target)
.path(path)
.request(format)
.get(new GenericType<List<T>>(){});
return list;
}
public void close() {
client.close();
}
}
问题:为什么当另一个不使用泛型的外观出现时,外观却不起作用?