Bonjour.
Actuellement, nous avons des applications (Web mais problématique idem en "non-web") en java 1.4. Nous allons les passer en Java 1.6 et j'aurais voullu connaitre les bonnes pratiques. Je m'explique.
En 1.4 :
Lorsque nous faisons une requete sur une table PERSONNE (par exemple), nous récupérons un ResultSet que nous chargons dans un Vector, ce qui nous fait un Vector de Personne.
Ensuite, pour afficher la liste de résultat dans la JSP, nous utilisons une Enumeration (passées dans un paramètre) et bouclons dessus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Vector resultat=new Vector(); ResultSet rs = s.executeQuery(requete); while(rs.next()) { String mat = rs.getString(1); ... Personne personne = new Personne(mat,...); resultat.add(personne); } return resultat.elements();
En Java 1.6, j'ai cru lire qu'il fallait mieux éviter d'utiliser les Enumeration, et utiliser les Iterator (pour utiliser la nouvelle boucle for)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Enumeration personnes = (Enumeration) request.getAttribute("personnes"); while (personnes.hasMoreElements()) { Personne pers = (Personne) personnes.nextElement(); ... }
L'idéal est-il de mettre le ResultSet dans une ArrayList, puis d'utiliser un Iterator à a place de l'Enumeration?
ou de continuer à utiliser des Vector (ou d'autres types List, LinkedList...)?
Ou utiliser des ListIterator au lieu d'Iterator?
Merci d'avance
Partager