17
août
2005
Perles de codage Java
août
2005
Un article de vbrabant
3 Commentaires
Un collègue de travail m’a envoyé ce magnifique bout de code extrait d’une source d’une des nombreuses applications sur lesquelles il travaille:
Integer in = new Integer(0);
int sel_id = (in.valueOf(sel_serv_id)).intValue();
Est-il possible d’écrire cela plus facilement, sachant que sel_serv_id est un int ?
3 Commentaires + Ajouter un commentaire
Commentaires récents
Archives
- janvier 2012
- novembre 2010
- février 2009
- janvier 2009
- décembre 2008
- septembre 2008
- août 2008
- décembre 2007
- octobre 2007
- septembre 2007
- juillet 2007
- mai 2007
- avril 2007
- mars 2007
- février 2007
- janvier 2007
- décembre 2006
- novembre 2006
- octobre 2006
- septembre 2006
- août 2006
- juillet 2006
- juin 2006
- mai 2006
- avril 2006
- février 2006
- janvier 2006
- décembre 2005
- novembre 2005
- octobre 2005
- septembre 2005
- août 2005
- juillet 2005
- juin 2005
- mai 2005
- avril 2005
Catégories
- Certification
- Défis
- Devoxx
- Devoxx 2008
- Devoxx 2010
- Devoxx France 2012
- Divers
- Événements Java
- Fiches
- Hardware
- In English
- Java
- JavaDay 2006
- JavaFX
- JavaOne 2005
- JavaOne 2006
- JavaOne 2007
- Javapolis 2005
- Javapolis 2006
- Javapolis 2007
- JBoss
- Livres
- Mac
- NetBeans
- OpenJDK
- Pensée
- Performance
- Perles
- Sun Tech Days Paris 2007
- Traduction
sel_serv_id est bien un int.
Et si sel_serv_id avait été un String, j’aurais fait
int sel_id = Integer.parseInt(sel_serv_id);
car il n’y a pas d’objet Integer qui est créé à ce moment-là, alors qu’avec
int sel_id = Integer.valueOf(sel_serv_id);
on a un objet Integer qui est créé et qui sera tout de suite bon pour le garbage collector.
Faut savoir que lorsqu’on écrit
int sel_id = Integer.valueOf(sel_serv_id);
cela revient à écrire le fameux
int sel_id = (in.valueOf(sel_serv_id)).intValue();
Or bien que la deuxième écriture en choquera plus d’un, on risque de rencontrer très souvent la première écriture, alors que finalement, c’est tout aussi choquant finalement.
bêtement, j’aurais dit
int sel_id = new Integer(sel_serv_id);
si
int sel_id = sel_serv_id;
ne fonctionnais pas, à cause d’une malédiction quelconque sur le dit code, MDR
ben si sel_serv_id est un int , on peut faire:
int sel_id=sel_ser_id; <br />
Mais je suppose que ce devrait plutôt être un String :
int sel_id = Integer.valueOf(sel_serv_id) <br />