Мой тип IDE ( NetBeans ) проверяет мой, Collections
пока я набираю код. Но тогда, почему я должен бросить возвращенный объект Object.clone()
? Что хорошо. Нет вреда, нет фола. Но все же я не понимаю.
Является ли проверка типов без приведения возвращаемого объекта Object.clone()
невозможной? Дженерики структура заставляет меня думать IDE может проверить тип ссылок на объекты на правой стороне « = марки» без литья в то время как я печатаю? Я не понимаю
Приложение
Мой случай использования состоял в том, что у меня было личное Calendar
поле, pubdate . Я собирался написать:
Calendar getPubdate() {
return pubdate;
}
но есть риск, что вызывающий может изменить мою публикацию , поэтому я вернул копию:
Calendar getPubdate() {
return (Calendar) pubdate.clone();
}
Затем я удивился, почему мне нужно было сыграть pubdate.clone()
. Подпись метода имеет тип прямо здесь. NetBeans должен быть в состоянии понять это. И NetBeans, похоже, делал что-то подобное в отношении Collections
.
MyObject
с, clone()
а не с Object
- это устраняет всю эту проблему. Кроме того, рекомендуется никогда не использовать clone()
(Эффективный элемент Java # 11).
this.clone()
объект программиста, особенно ночью Ср после выхода Ту. Извините, но я должен написать этот комментарий .. Почему умная IDE не может просто исправить все ошибки для нас LOL