java - 这个泛型方法应该怎么写才对
伊谢尔伦
伊谢尔伦 2017-04-18 09:16:34
0
3
716

我是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伐。

répondre à tous(3)
洪涛
// 泛型方法要么直接让其推导类型
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.

Ty80

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);
刘奇
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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal