[java] Problème à définir une variable
Fermé
Guigui
-
4 mars 2009 à 11:18
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 4 mars 2009 à 21:54
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 4 mars 2009 à 21:54
A voir également:
- [java] Problème à définir une variable
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Vba range avec variable ✓ - Forum VB / VBA
- Jeux java itel ✓ - Forum Jeux vidéo
- Telecharger java - Télécharger - Langages
- A java exception has occurred ✓ - Forum minecraft
1 réponse
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
326
4 mars 2009 à 21:54
4 mars 2009 à 21:54
Bonsoir,
Tu utilises une syntaxe Java correcte mais démodée (en fait maintenant on écris ça différemment car Java a évolué et propose des syntaxes plus optimisées). Je vais donc écrire comme il est aujourd'hui conseillé d'écrire (par contre il faut que tu aies une JVM capable d'exécuter du java5, sinon ça va ne pas fonctionner).
En fait on utilise ici la généricité (qui consiste à dire quel type d'objets va contenir la liste). Une liste ne peut contenir que des objets, autrement dit des instances de classe. On ne peut donc pas contenir de types primitifs (donc pas d'int), mais on peut utiliser la classe Integer qui va être l'objet contenant un int !
Lorsque l'on fait list.add(2); 2 est un int, mais va être automatiquement casté en Integer.
Enfin, list.get(d) retourne l'instance contenue en d-ième position de la liste (c'est donc une instance d'Integer qui est retournée). Pour récupérer l'int stocké dans cet Integer, tu peux faire int aEnInt = a.intValue();
Cordialement,
Tu utilises une syntaxe Java correcte mais démodée (en fait maintenant on écris ça différemment car Java a évolué et propose des syntaxes plus optimisées). Je vais donc écrire comme il est aujourd'hui conseillé d'écrire (par contre il faut que tu aies une JVM capable d'exécuter du java5, sinon ça va ne pas fonctionner).
List<Integer> list = new ArrayList<Integer>(); list.add(2); list.add(3); list.add(5); int d = 2; Integer a = list.get(d);
En fait on utilise ici la généricité (qui consiste à dire quel type d'objets va contenir la liste). Une liste ne peut contenir que des objets, autrement dit des instances de classe. On ne peut donc pas contenir de types primitifs (donc pas d'int), mais on peut utiliser la classe Integer qui va être l'objet contenant un int !
Lorsque l'on fait list.add(2); 2 est un int, mais va être automatiquement casté en Integer.
Enfin, list.get(d) retourne l'instance contenue en d-ième position de la liste (c'est donc une instance d'Integer qui est retournée). Pour récupérer l'int stocké dans cet Integer, tu peux faire int aEnInt = a.intValue();
Cordialement,