作者KiroKu ( who)
看板java
標題[問題] 泛型中取得T.class(class<T>)?
時間Fri Jan 17 12:39:15 2014
有一個函數AAA需要傳入型別Class<T>
T x=AAA(T.class);
如果T為實際的class則可以執行
但寫成template卻會出錯
暫時以初始化時要求傳入Class<T>
private Class<T> clazz;
constructor(Class<T> c){
clazz=c;
T x=AAA(clazz);
}
不知是否有其他更簡易的寫法?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.242.250.151
→ dream1124:你的問題表達得很不清楚,但我猜你想做的事情是不行的 01/19 20:36
→ dream1124:泛型應該只能延後宣告部分型別到建構前,但就是不能省 01/19 20:41
→ Killercat:可以想想為什麼沒辦法new T(); XD 01/20 13:01
→ eieio:問題很模糊,compiler 的 error message 是什麼? 01/21 15:43
→ coolcomm:要到執行時期才能知道T.class 但是T在編譯時期就要被決 01/31 17:52
→ coolcomm:定了 01/31 17:53