Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通用类,can';t返回泛型值_Java_Generics - Fatal编程技术网

Java 通用类,can';t返回泛型值

Java 通用类,can';t返回泛型值,java,generics,Java,Generics,我正在尝试将时间字符串反序列化为Joda DateTime,因此我定义了此反序列化器: public class JsonTimeDeserializer<T extends DateTime> implements JsonDeserializer<T> { @Override public T deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)

我正在尝试将时间字符串反序列化为Joda DateTime,因此我定义了此反序列化器:

public class JsonTimeDeserializer<T extends DateTime> implements JsonDeserializer<T> {
    @Override
    public T deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
        DateTimeFormatter dtf = DateTimeFormat.forPattern("HH:mm");
        return json == null ? null : dtf.parseDateTime(json.getAsString());
    }
}
我不明白。T扩展日期时间

我做错了什么


谢谢你的第一行应该是

public class JsonTimeDeserializer implements JsonDeserializer<DateTime>
公共类JsonTimeDeserializer实现JsonDeserializer
您不需要创建自己的变量,只需引用现有变量即可


当您扩展泛型类型并添加新类型变量时,您也在使您的类型成为泛型类型,这在本例中并不是您想要的。

是什么让您认为
T==DateTime
鉴于您上面的一行声明
T扩展DateTime
。事实上,为什么这是通用的?好的,是的。我明白你的意思
public class JsonTimeDeserializer implements JsonDeserializer<DateTime>