4
IDEが非常に賢い場合、「clone()」をキャストする必要があるのはなぜですか?
コードを入力している間、IDE(NetBeans)タイプがチェックしCollectionsます。しかし、その後、返されたオブジェクトをキャストする必要があるのはなぜObject.clone()ですか?大丈夫です。害もファウルもありません。しかし、それでも理解できません。 型チェックは、キャストせずに、返されたオブジェクトをObject.clone()不可能ですか?ジェネリックフレームワークは、私はIDEがチェックできると思いますタイプ「の右側のオブジェクト参照の=私はタイピングをしていながら、キャストなし」マークを?わかりません。 補遺 私の使用例は、私がプライベートCalendarフィールドpubdateを持っていたことだけでした。私は書くつもりでした: Calendar getPubdate() { return pubdate; } しかし、呼び出し側がpubdateを変更する可能性があるため、コピーを返しました。 Calendar getPubdate() { return (Calendar) pubdate.clone(); } 次に、なぜキャストする必要があるのか疑問に思いましたpubdate.clone()。メソッドシグニチャにはタイプがあります。NetBeansはそれを理解できるはずです。そしてNetBeansはに関して同様のことをしているようCollectionsでした。