ynabid
Messages postés24Date d'inscriptionjeudi 2 octobre 2008StatutMembreDernière intervention 9 août 2010
-
26 juil. 2010 à 15:44
ynabid
Messages postés24Date d'inscriptionjeudi 2 octobre 2008StatutMembreDernière intervention 9 août 2010
-
2 août 2010 à 10:56
notre prof nous a donné cet exercice en examen
package p1;
import java.util.*;
public class ss {
public static void main(String[] args){
Map m1=new HashMap ();
m1.put(1, "One");
m1.put(2, "Two");
m1.put(3, "Three");
Iterator <String> I = m1.keySet().iterator();
System.out.println(m1.values());
while(I.hasNext())
System.out.println(m1.get(I.next()));
}
}
il nous a demandé de dire est ce que ça va marcher ou non. Après l'examen, il a dit que ça va marcher mais quand j'ai testé ça me donne une exception. Sachant que pour moi c'est évident que ça ne va pas marcher et aussi le compilateur aussi ne l'a pas accepter, le prof lui m'a envoyé une image en me montrons que son compilateur l'a accepté et lui a donnée comme valeur null null null
moi je l'ai testé dans eclipse sous linux (ubuntu et fedora) et le prof l'a testé sur eclipse de windows.
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 2 août 2010 à 10:18
Salut,
Si tu déclares une map de type Map tu ne peux PAS faire un itérator de type String (Iterator <String>) en te basant sur les clés... car tu définis les clés comme étant des Integer (Map<Integer, String>) et les valeurs comme étant des String (Map).
Il y a 2 solutions pour compiler ce prog sans erreurs :
1 : Ne pas utiliser la généricité - Tu n'auras plus de typage des données et java fera le taf seul
2 : Se droguer et être ivre mort au point de croire que le compilateur ne fait pas d'erreurs
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 27 juil. 2010 à 10:37
Bonjour.
L'environnement (linux / windows) n'est a priori pas responsable de cette différence.
Il faudrait mieux comparer les versions de compilateur utilisés.
Cdt
Vous n’avez pas trouvé la réponse que vous recherchez ?