Mon type IDE ( NetBeans ) vérifie mon Collections
pendant que je tape du code. Mais alors, pourquoi dois-je lancer l'objet retourné Object.clone()
? Ce qui est bien. Pas de mal, pas de faute. Mais je ne comprends toujours pas.
La vérification de type, sans transtypage, l'objet retourné Object.clone()
n'est -elle pas possible? Le cadre générique me fait penser que l'EDI pourrait vérifier le type de références d'objet sur le côté droit de la marque " = " sans transtypage pendant que je tape? Je ne comprends pas.
addendum
Mon cas d'utilisation était juste que j'avais un Calendar
champ privé , pubdate . J'allais écrire:
Calendar getPubdate() {
return pubdate;
}
mais il y a un risque que l'invocateur puisse modifier ma publication , j'ai donc renvoyé une copie:
Calendar getPubdate() {
return (Calendar) pubdate.clone();
}
Ensuite, je me suis demandé pourquoi j'avais besoin de lancer pubdate.clone()
. La signature de méthode a le type juste là. NetBeans devrait être capable de comprendre cela. Et NetBeans semblait faire quelque chose de similaire en ce qui concerne Collections
.
MyObject
de clone()
plutôt que Object
- cela supprime tout ce problème. Il est en outre recommandé de ne jamais l'utiliser clone()
(Effective Java Item # 11).
this.clone()
sur l'objet programmeur, surtout la nuit de mercredi après la sortie de Tue. Désolé , mais je dois écrire ce comment..Why ne peut pas intelligent IDE fixe simplement tous les bugs pour nous LOL