2016-03-31 240 views
0
public class GenericClass<T> { 

    private final Class<T> clazz; 

    public GenericClass(Class<T> clazz) { 
     this.clazz = clazz; 
    } 

} 

public Test extends GenericClass<Person.class> { 

    public Test() { 
     super(Person.class); 
    } 

} 

得到 類,我將通過clazz中(在這種情況下Person.class)中的方法之一的說法,但現在我想通過clazz中[] (在這種情況下Person []。類)在Generic類中的另一個方法中。我怎麼做?我怎樣才能得到clazz中[]從clazz中即人[]。類從Person.class 泛型 - 泛型類的類<T>

回答

1

我去過能夠找到最好的答案是

Array.newInstance(myClass, 0).getClass() 
+0

我在通用調用模板休息類,並且想要在方法中傳遞Class類型。例如 restTemplate.exchange(url,HttpMethod.GET,requestEntity,this.clazz,params); 和 restTemplate.exchange(url,HttpMethod.GET,requestEntity,this.clazz [],params); 是否有任何方法來傳遞方法中的類的泛型數組(在這種情況下,Person []。類) 我無法弄清楚Array.newInstance(myClass,0).getClass()如何工作 – Shiva

+0

@Shiva這個答案讓你'Person []。class'如果你把它放進去。 –

+0

明白了。它現在有效,我不得不投它 類 arrayClass =(Class )Array.newInstance(this.clazz,0).getClass(); Thanks @Louis – Shiva