สร้างวิธีการของคุณเพื่อยอมรับมัน -
public <T> void printClassNameAndCreateList(Class<T> className){
//example access 1
System.out.print(className.getName());
//example access 2
ArrayList<T> list = new ArrayList<T>();
//note that if you create a list this way, you will have to cast input
list.add((T)nameOfObject);
}
โทรวิธี -
printClassNameAndCreateList(SomeClass.class);
นอกจากนี้คุณยังสามารถ จำกัด ประเภทของคลาสได้เช่นนี้เป็นหนึ่งในวิธีการจากไลบรารีที่ฉันสร้างขึ้น -
protected Class postExceptionActivityIn;
protected <T extends PostExceptionActivity> void setPostExceptionActivityIn(Class <T> postExceptionActivityIn) {
this.postExceptionActivityIn = postExceptionActivityIn;
}
สำหรับข้อมูลเพิ่มเติมค้นหา Reflection and Generics