如何创建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