我定义了Jackson序列化器并将其作为JsonDeserialize添加到Java类中,如下所示:
@JsonDeserialize(using = ReportFilterDeserializer.class)
编译器报错如下:
error: incompatible types: Class<ReportFilterDeserializer> cannot be converted to Class<? extends JsonDeserializer<?>>
@JsonDeserialize(using = ReportFilterDeserializer.class)
注释的定义是:
public Class<? extends JsonDeserializer<?>> using() default JsonDeserializer.None.class;
如果我从ReportFilterDeserializer中删除通用属性,它就可以通过编译。我不明白为什么编译器会抱怨。
class ReportFilterDeserializer<T> extends JsonDeserializer<ReportFilter<T>> {
@Override
public ReportFilter<T> deserialize(JsonParser jsonParser,DeserializationContext arg1) throws IOException,JsonProcessingException {
return null;
}
}