2011-07-20 18 views

cevap

37

Evet, yapabilirsiniz.

private static <T> List<T> pushBack(List<T> list, Class<T> typeKey) throws Exception { 
    list.add(typeKey.getConstructor().newInstance()); 
    return list; 
} 

Kullanım örneği:

List<String> strings = new ArrayList<String>(); 
pushBack(strings, String.class); 
+0

Bu yöntem nasıl aranır? Sınıf tipinin ne olacağını bilmiyorum. Bu konuda bir şey bulamıyorum. Herhangi bir okuma tavsiyeniz varsa, kabul edilecektir. Cevabınız için teşekkürler! –

+0

@Pierre: Sadece bir kullanım örneği ekledim. Temel olarak, bir sınıf adı (bu durumda '' String') alır ve bundan sonra '.class' eklerseniz, bu sınıf için bir tip anahtarınız (sınıf nesnesi) alırsınız. 'String.class',' Sınıf ' türüne sahiptir. –

+0

Sadece şu şekilde kullanıyorum: statik List pushBack (Liste listesi, Sınıf typeKey, int boyut) ve işe yaradı. Teşekkürler, bana çok yardımcı oldunuz. Kopyala/yapıştır kodundan kaçınmak her zaman bir keyiftir. –

3

basit bir çözüm!

private <GenericType> ArrayList increaseSizeArray(ArrayList array_test, GenericType genericObject) 
{ 
    array_test.add(new genericObject()); 
    return ArrayList; 
} 
İlgili konular