2011-07-20 4 views

Répondre

37

Oui, vous pouvez.

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

Exemple d'utilisation:

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

Comment appelez-vous cette méthode? Je ne sais pas ce que devrait être la classe type . Je ne peux rien trouver à ce sujet. Si vous avez des conseils de lecture, ce sera le bienvenu. Merci pour votre réponse! –

+0

@Pierre: Ajout d'un exemple d'utilisation. Fondamentalement, si vous prenez un nom de classe ('String' dans ce cas) et ajoutez' .class' après, vous avez une clé de type (objet de classe) pour cette classe. 'String.class' a le type' Class '. –

+0

Je l'ai juste utilisé comme ceci: statique Liste pushBack (Liste liste, Classe typeKey, taille int) et cela a fonctionné. Merci, vous m'avez beaucoup aidé. Éviter copier/coller du code est toujours une joie. –

3

solution simple!

private <GenericType> ArrayList increaseSizeArray(ArrayList array_test, GenericType genericObject) 
{ 
    array_test.add(new genericObject()); 
    return ArrayList; 
} 
Questions connexes