java new 删除吗,java泛型对象初始化-java泛型对象会实例化吗T t=new T()
java泛型對(duì)象初始化--java泛型對(duì)象能實(shí)例化嗎T t=new T()
java中沒法得到泛型參數(shù)化類型,因?yàn)樵诰幾g期沒法確定泛型參數(shù)化類型,也就找不到對(duì)應(yīng)的類字節(jié)碼文件,自然就不行了
泛型反射的關(guān)鍵是獲取ParameterizedType,再調(diào)用它的getActualTypeArguments()方法獲得實(shí)際綁定的類型。但注意public class BookManager是不能被反射的,因?yàn)椴潦梅ǖ木壒省V挥性赟uperclass 或者成員變量(Field.getGenericType())等有函數(shù)返回ParameterizedType的時(shí)候才能成功反射,
要么搞個(gè)構(gòu)造函數(shù)把參數(shù)類型傳進(jìn)去才行
我就寫了一個(gè)構(gòu)造函數(shù)如下:
private static T newTclass(Class clazz) throws InstantiationException, IllegalAccessException{
T a=clazz.newInstance();
return a;
}
使用方法:
try {
T user = newTclass(User.class);
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
當(dāng)然 這里的 User.class也可以由上層函數(shù)傳進(jìn)來。
總結(jié)
以上是生活随笔為你收集整理的java new 删除吗,java泛型对象初始化-java泛型对象会实例化吗T t=new T()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我国新武器外宣
- 下一篇: oracle dataguard in-