Maison > Questions et réponses > le corps du texte
我是C#转Java的,发觉Java的泛型写起来有点奇怪,求助,下面这个问题应该如何解决。
定义的方法:
public static <T> T FromJson(String json)
{
T obj = JSON.parseObject(json, new TypeReference<T>() {});
return obj;
}
使用的时候报错
MyClass cls2 = JsonClass.FromJson<MyClass>(str);
提示是<MyClass>
这个地方错误,如果删掉,就语法上正确,但是实际运行会错误。
我是按照C#逻辑来理解些的,貌似Java不是这么一回事?
PHP中文网2017-04-18 09:18:34
// 泛型方法要么直接让其推导类型
MyClass cls2 = JsonClass.FromJson(str);
// 要么这样指定
MyClass cls2 = JsonClass.<MyClass>FromJson(str);
Votre erreur de compilation est donc due au fait que vous l'utilisez de la mauvaise manière.
Quand vous obtenez une erreur lors de l'exécution, vous devez publier le message d'erreur pour voir ce qui ne va pas.
PHP中文网2017-04-18 09:18:34
Vous n'avez pas besoin de spécifier de génériques lors de l'utilisation de la méthode
MyClass cls2 = JsonClass.FromJson(str);
怪我咯2017-04-18 09:18:34
public static <T> T FromJson(String json,Class<T> clz)
{
return JSON.parseObject(json, new TypeReference<T>() {});
}
Je ne sais pas si c'est possible