有一個類
classs AAA<T>{
int i;
T t;
}
還有有一個User類
class User{
String name;
}
方法
public <T> T Fun(Class<T> t1){
return t1;
}
現在想問怎么把引數AAA<User>傳到Fun里面
這樣呼叫:class1<User> c=Fun(AAA<User>.class)這樣不行啊。。。
想問一下。應該怎么呼叫。。。
uj5u.com熱心網友回復:
誰知道提點一下啊。uj5u.com熱心網友回復:
你這個Fun是個錯誤的方法吧 你用編譯器 寫進去看看 你return 的是一個java.lang.Class 而所需要的就是一個正常的類,所以 你這個方法 是錯的 編譯器 會報錯uj5u.com熱心網友回復:
小兄弟,你問的這個問題,準確描述:多層嵌套泛型類的class如何獲取?錯誤方法:
1、AAA<User>.class
2、new AAA<User>().getClass()
上面兩種肯定不行,第一種編譯不通過,第二種外部class決議通過,內部class會決議為map
常見解決方法:借助于fastJson的TypeReference
先把結果轉換為String,直接使用String.class
然后
AAA<User> data = JSON.parseObject(jsonStr, new TypeReference<AAA<User>>() {
}.getType());
搞定!
前提條件:結果就是json格式,要轉換為多層嵌套的泛型類
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/122389.html
標籤:Java相關
上一篇:求Java大佬們幫忙解一下
下一篇:求大佬解答!
