A plusieurs reprises, j'ai soutenu qu'utiliser clone()
n'est pas une si mauvaise pratique. Oui, je connais les arguments. Bloch a déclaré c'est mauvais. Il l'a fait en effet, mais il a dit que mettre en œuvre clone()
est mauvais. En revanche, l'utilisation du clone, surtout s'il est mis en œuvre correctement par une bibliothèque de confiance, telle que le JDK, est acceptable.
Hier encore, j'ai eu une discussion sur une de mes réponses qui suggère simplement que l'utilisation clone()
para ArrayList
est OK (et n'a pas reçu de votes positifs pour cette raison, je suppose).
Si nous regardons le @author
de ArrayList
nous pouvons voir un nom familier - Josh Bloch. Donc clone()
en ArrayList
(et d'autres collections) est parfaitement acceptable (il suffit de regarder leurs implémentations).
Il en va de même pour Calendar
et peut-être la plupart des java.lang
y java.util
classes.
Alors, donnez-moi une raison pourquoi ne pas utiliser clone()
avec les classes du JDK ?