Java 如何覆盖Gson默认日期类型适配器?

Java 如何覆盖Gson默认日期类型适配器?,java,gson,android,Java,Gson,Android,我创建了一个自定义日期反序列化器: private static class DateJsonDeserializer implements JsonDeserializer<Date>{ @Override public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { fo

我创建了一个自定义日期反序列化器:

private static class DateJsonDeserializer implements JsonDeserializer<Date>{

    @Override
    public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
        for (String format : DATE_FORMATS) {
            try {
                SimpleDateFormat df = new SimpleDateFormat(format);
                return df.parse(json.getAsString());
            } catch (ParseException e) {
            }
        }
        throw new JsonParseException("Unparseable date: \"" + json.getAsString()
                + "\". Supported formats: " + Arrays.toString(DATE_FORMATS));
    }
}
但是如果我想解析一个日期,我会看到使用了内置的DateTypeAdapter类,为什么?我想使用我的日期反序列化程序。
我使用改装版2.1.0、Gson 2.8.0、转换器Gson 2.1.0

您确定Date.class是正确的等级吗?可能它使用了Date.class的子类?

您确定Date.class是正确的类吗?可能它使用了Date.class的子类?

我到处都使用java.util.Date类。我检查了ConverterFactory的改造,发现第一个是内置Converter,它包含一个DateTypeAdapter,它调用了first,并抛出了一个异常..我到处都使用java.util.Date类。我检查了ConverterFactory的改造,发现第一个是内置Converter,它包含一个DateTypeAdapter,它调用了first,并抛出了一个异常。。
gsonBuilder.registerTypeAdapter(Date.class, new DateJsonDeserializer());