코드를 입력하는 동안 IDE ( NetBeans ) 유형이 내 확인 Collections
합니다. 그러나 왜 반환 된 객체를 캐스팅해야 Object.clone()
합니까? 어느 것이 좋습니다. 파울이 없습니다. 그러나 여전히 이해가되지 않습니다.
유형 검사가 캐스팅없이 반환 된 객체를 Object.clone()
불가능합니까? 제네릭 프레임 워크는 나를 IDE가 확인할 수 있습니다 생각하게 유형 은 "의 오른쪽에 객체 참조 = I 입력을 나는 동안 캐스팅없이"마크? 나는 그것을 얻지 못한다.
부록
나의 사용 사례는 pubdate 개인 Calendar
필드 가 있다는 것 입니다. 나는 쓰려고했다 :
Calendar getPubdate() {
return pubdate;
}
그러나 호출자가 내 pubdate를 수정할 수있는 위험이 있으므로 사본을 반환했습니다.
Calendar getPubdate() {
return (Calendar) pubdate.clone();
}
그런 다음 왜 내가 캐스팅해야하는지 궁금했습니다 pubdate.clone()
. 메소드 시그니처에는 바로 유형이 있습니다. NetBeans 는이를 알아낼 수 있어야합니다. 그리고 NetBeans는와 비슷한 일을하고있는 것 같습니다 Collections
.
MyObject
에서 반품하는 것이 좋습니다 . 이렇게하면 전체 문제가 제거됩니다. 더 이상 사용하지 않는 것이 좋습니다 (유효한 Java 항목 # 11). clone()
Object
clone()
this.clone()
프로그래머 대상에 관한 것입니다 . 특히 Tue가 릴리스 된 후 Wed 's night에 있습니다. 죄송하지만이 의견을 작성해야합니다. 스마트 IDE가 왜 우리를 위해 모든 버그를 수정하지 못하는가 LOL