Bonjour,
je voudrais bien savoir l'impact d'utilisation des methodes deprecated dans une application java.
Merci
Bonjour,
je voudrais bien savoir l'impact d'utilisation des methodes deprecated dans une application java.
Merci
Cela dépend.
Parfois, une méthode est dépréciée car elle ne marche pas comme il faut, et qu'une correction du code n'y changera rien ; parfois c'est parce qu'elle est peu performante ; parfois c'est parce qu'elle fait partie d'un concept désuet ou que son design général est défectueux.
Donc, en fait, l'idéal avec une classe/méthode dépréciée est de surtout ne pas l'utiliser et de la remplacer par ce qui est fait pour la remplacer.
Exemples simples :
* la classe Vector est remplacée par ArrayList
* l'API Date est remplacée par Calendar (qui sera probablement remplacée par... )
* la méthode Thread#stop() est remplacée par (une partie de) l'API java.util.concurrent.
A noter que dans tes exemples ne sont pas tous exact:
- Thread stop/supdend/resume sont en effet dépréciées car elle provoquent des plantages totalement imprévisibles, contre lesquel on ne peut absolument rien faire.
C'est lié au concept même d'interrompre un Thread qui est trop problématique pour être traité automatiquement.
- Vector n'est pas officiellement déprécié, même s'il est recommandé d'utiliser les listes qui sont bien plus complètes.
En effet son utilisation n'engendre pas de problème particulier et il est encore utilisé par d'autres classes de l'API Java.
- Date n'a pas été entièrement déprécié, juste une partie. Et elle ne sera pas dépréciée non plus par la nouvelle API de date qui arrivera peut-être dans java 7 (mais ce n'est pas encore confirmé).
En général on ne déprécie pas une méthode/objet parce qu'il se fait mieux depuis, mais quand on se rend compte que le concept est problématique, risque d'induire en erreur, ou dangereux pour la sécurité.
Partager