Recuperer la classe des objets d une liste

Fermé
ahmadou_20 Messages postés 6 Date d'inscription dimanche 24 août 2014 Statut Membre Dernière intervention 22 décembre 2014 - Modifié par ahmadou_20 le 22/12/2014 à 17:33
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 22 déc. 2014 à 20:33
Bonjour,

J ai une liste d entiers comme suit:



List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);



Je me demande s il y a une methode qui permet de recuperer le nom de la classe des objets de la liste list, soit Integer.

En fait, si j ecris:


list.getClass().getName();


je recupere List et non Integer.

Auriez vous des idees? Merci de votre aide !!
A voir également:

2 réponses

Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 931
22 déc. 2014 à 20:15
Bonjour c'est quel langage?
0
ahmadou_20 Messages postés 6 Date d'inscription dimanche 24 août 2014 Statut Membre Dernière intervention 22 décembre 2014
22 déc. 2014 à 20:18
C Java.
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 931 > ahmadou_20 Messages postés 6 Date d'inscription dimanche 24 août 2014 Statut Membre Dernière intervention 22 décembre 2014
22 déc. 2014 à 20:21
Pense à poster dans le forum Java la prochaine fois.
Je ne fais pas de Java, mais typeOf() me parfait bien
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015 > Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024
22 déc. 2014 à 20:28
Bonjour,

typeOf c'est du JavaScript... pas du Java !
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 931 > KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024
22 déc. 2014 à 20:30
Au temps pour moi.
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
Modifié par KX le 22/12/2014 à 20:34
Bonjour,

Ce que tu veux faire n'est pas possible.

Tu peux récupérer le type d'un des éléments en particulier en faisant
list.get(i).getClass()
par exemple, mais tu ne peux pas récupérer le type paramétré de la liste (Integer ici) car à la compilation il est supprimé.

Dans ton cas cependant ça n'a aucun intérêt car Integer est une classe finale, il ne peut donc pas y avoir d'héritage et seuls des Integer peuvent y être stockés.

Ce serait bien différent avec une List<Number> qui pourrait contenir aussi bien des Integer, des Long, Float, Double, etc. Mais il n'y a aucune manière de récupérer le type Number à partir de la liste ou des objets inclus dans cette liste.

En revanche - mais c'est à vérifier - il pourrait être possible de déterminer le type paramétré s'il fait partie de la signature d'une méthode, c'est à dire soit un paramètre, soit un type de retour. Dans ce cas il faut faire l'analyse sur la méthode et non pas sur la liste ou ses éléments.La confiance n'exclut pas le contrôle
0