//父類Person
public class Person<T> {
public T age;
public Person(T age) { this.age = age; }
}
//子類Student提供了型別
public class Student extends Person<Integer> {
public Student(Integer age) { super(age); }
}
public class ReflectDemo {
public static void main(String[] args) throws Exception {
List<Student> stu = fun(Student.class, "1,2");
System.out.println(stu);
}
public static <T> List<T> fun(Class<T> clazz, String seriable) throws Exception {
//試圖通過反射創建兩個student物件
List<T> stus = new ArrayList<>();
String[] ages = seriable.split(",");
for (String age : ages) {
//下面這句是否能不寫Integer.class,而是通過clazz反射獲得,但是我怎么獲取都是Object型別
T stu = clazz.getDeclaredConstructor(Integer.class).newInstance(Integer.valueOf(age));
stus.add(stu);
}
return stus;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/234418.html
標籤:Java SE
