如何創建T類?Java T初始化
我需要從對象T的一些Windows通訊基礎(WCF)的XML綁定
我可以做到這一點沒有錯誤:
ArrayList<T> list = new ArrayList<T>();
這是我的函數:
public static <T> ArrayList<T> GetListFromXml(String url,String element)
如何獲得:T obj =?
如何創建T類?Java T初始化
我需要從對象T的一些Windows通訊基礎(WCF)的XML綁定
我可以做到這一點沒有錯誤:
ArrayList<T> list = new ArrayList<T>();
這是我的函數:
public static <T> ArrayList<T> GetListFromXml(String url,String element)
如何獲得:T obj =?
這是不可能的,因爲編譯器的type erasure。如果你有一個具體的類型與發送方默認構造函數,下面可能工作:
public static <T> ArrayList<T> GetListFromXml(String url,String element, Class<? extends T> type) {
T obj = type.newInstance();
...
}
如果需要傳遞參數的構造函數,你必須通過getConstructor(parameter type 1, ...)
從類得到它(你需要處理此處未顯示的例外情況):
MyParamType1 param1 = ...;
MyParamType2 param2 = ...;
Constructor<T> cons = type.getConstructor(MyParamType1.class, MyParamType2.class);
T obj = const.newInstance(param1, param2);
'ArrayList
我可以向參數發送參數嗎? – 2012-03-01 15:44:54
@ user1194088您可以將該類型作爲參數發送給需要參數的類。如果你寫一個。 ArrayList不帶一個類型。 – 2012-03-01 15:47:34
您是否通過[Java泛型教程](http://docs.oracle.com/javase/tutorial/java/generics/)工作? – 2012-03-02 09:18:31