Tipe IDE ( NetBeans ) saya memeriksa Collections
kode saya saat saya mengetik. Tetapi kemudian, mengapa saya harus melemparkan objek yang dikembalikan Object.clone()
? Itu baik saja. Tidak ada salahnya tidak busuk. Tapi tetap saja, saya tidak mengerti.
Apakah pengecekan tipe, tanpa casting, objek yang dikembalikan Object.clone()
tidak mungkin? The generik kerangka membuat saya berpikir IDE bisa memeriksa jenis referensi objek pada sisi kanan dari " = " mark tanpa casting sementara saya mengetik? Saya tidak mengerti.
addendum
Kasus penggunaan saya hanya karena saya memiliki Calendar
bidang pribadi , pubdate . Saya akan menulis:
Calendar getPubdate() {
return pubdate;
}
tapi ada risiko bahwa Invoker bisa memodifikasi saya pubdate , jadi saya kembali salinan:
Calendar getPubdate() {
return (Calendar) pubdate.clone();
}
Kemudian, saya bertanya-tanya mengapa saya harus memilih pubdate.clone()
. Metode signature memiliki tipe di sana. NetBeans harus bisa mengetahuinya. Dan NetBeans tampaknya melakukan sesuatu yang mirip dengan itu Collections
.
MyObject
dari clone()
daripada Object
- ini menghilangkan seluruh masalah ini. Lebih lanjut dianjurkan untuk tidak pernah menggunakan clone()
(Item Java Efektif # 11).
this.clone()
pada objek programmer, terutama pada malam Wed setelah rilis Tue. Maaf, tetapi saya harus menulis komentar ini. Mengapa IDE tidak pintar hanya memperbaiki semua bug untuk kami LOL