Mon type IDE ( NetBeans ) vérifie mon Collectionspendant 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 Calendarchamp 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.
MyObjectde 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